app-builder-lib 22.5.0 → 22.7.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/electron-osx-sign/sign.js +11 -0
- package/out/binDownload.js +4 -2
- package/out/binDownload.js.map +1 -1
- package/out/core.js +49 -43
- package/out/core.js.map +1 -1
- package/out/electron/electronMac.js +1 -0
- package/out/electron/electronMac.js.map +1 -1
- package/out/options/FileAssociation.d.ts +5 -0
- package/out/packager.js +1 -1
- package/out/publish/updateInfoBuilder.js +4 -0
- package/out/publish/updateInfoBuilder.js.map +1 -1
- package/out/targets/AppxTarget.js +3 -2
- package/out/targets/AppxTarget.js.map +1 -1
- package/out/targets/nsis/NsisTarget.js +4 -13
- package/out/targets/nsis/NsisTarget.js.map +1 -1
- package/out/targets/nsis/nsisUtil.d.ts +1 -2
- package/out/targets/nsis/nsisUtil.js +6 -14
- package/out/targets/nsis/nsisUtil.js.map +1 -1
- package/out/util/NodeModuleCopyHelper.js +2 -2
- package/out/util/NodeModuleCopyHelper.js.map +1 -1
- package/out/util/cacheManager.js +62 -56
- package/out/util/cacheManager.js.map +1 -1
- package/out/util/config.js +1 -1
- package/out/util/langs.js +0 -2
- package/out/util/langs.js.map +1 -1
- package/out/util/yarn.js +4 -5
- package/out/util/yarn.js.map +1 -1
- package/package.json +16 -16
- package/scheme.json +5 -0
|
@@ -119,6 +119,17 @@ async function verifySignApplicationAsync (opts) {
|
|
|
119
119
|
function signApplicationAsync (opts) {
|
|
120
120
|
return walkAsync(getAppContentsPath(opts))
|
|
121
121
|
.then(async function (childPaths) {
|
|
122
|
+
/**
|
|
123
|
+
* Sort the child paths by how deep they are in the file tree. Some arcane apple
|
|
124
|
+
* logic expects the deeper files to be signed first otherwise strange errors get
|
|
125
|
+
* thrown our way
|
|
126
|
+
*/
|
|
127
|
+
childPaths = childPaths.sort((a, b) => {
|
|
128
|
+
const aDepth = a.split(path.sep).length
|
|
129
|
+
const bDepth = b.split(path.sep).length
|
|
130
|
+
return bDepth - aDepth
|
|
131
|
+
})
|
|
132
|
+
|
|
122
133
|
function ignoreFilePath (opts, filePath) {
|
|
123
134
|
if (opts.ignore) {
|
|
124
135
|
return opts.ignore.some(function (ignore) {
|
package/out/binDownload.js
CHANGED
|
@@ -46,14 +46,16 @@ function getBinFromUrl(name, version, checksum) {
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
function getBin(name, url, checksum) {
|
|
49
|
-
|
|
49
|
+
// Old cache is ignored if cache environment variable changes
|
|
50
|
+
const cacheName = process.env.ELECTRON_BUILDER_CACHE + name;
|
|
51
|
+
let promise = versionToPromise.get(cacheName); // if rejected, we will try to download again
|
|
50
52
|
|
|
51
53
|
if (promise != null) {
|
|
52
54
|
return promise;
|
|
53
55
|
}
|
|
54
56
|
|
|
55
57
|
promise = doGetBin(name, url, checksum);
|
|
56
|
-
versionToPromise.set(
|
|
58
|
+
versionToPromise.set(cacheName, promise);
|
|
57
59
|
return promise;
|
|
58
60
|
}
|
|
59
61
|
|
package/out/binDownload.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/binDownload.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA,MAAM,gBAAgB,GAAG,IAAI,GAAJ,EAAzB;;AAEM,SAAU,QAAV,CAAmB,GAAnB,EAAgC,MAAhC,EAAgD,QAAhD,EAAwE;AAC5E,QAAM,IAAI,GAAG,CAAC,UAAD,EAAa,OAAb,EAAsB,GAAtB,EAA2B,UAA3B,EAAuC,MAAvC,CAAb;;AACA,MAAI,QAAQ,IAAI,IAAhB,EAAsB;AACpB,IAAA,IAAI,CAAC,IAAL,CAAU,UAAV,EAAsB,QAAtB;AACD;;AACD,SAAO,sCAAkB,IAAlB,CAAP;AACD;;AAEK,SAAU,aAAV,CAAwB,IAAxB,EAAsC,OAAtC,EAAuD,QAAvD,EAAuE;AAC3E,QAAM,OAAO,GAAG,GAAG,IAAI,IAAI,OAAO,EAAlC;AACA,MAAI,GAAJ;;AACA,MAAI,OAAO,CAAC,GAAR,CAAY,+CAAhB,EAAiE;AAC/D,IAAA,GAAG,GAAG,OAAO,CAAC,GAAR,CAAY,+CAAZ,GAA8D,GAA9D,GAAoE,OAApE,GAA8E,KAApF;AACD,GAFD,MAGK;AAEH,UAAM,OAAO,GAAG,OAAO,CAAC,GAAR,CAAY,2CAAZ,IACd,OAAO,CAAC,GAAR,CAAY,2CADE,IAEd,OAAO,CAAC,GAAR,CAAY,mDAFE,IAGd,OAAO,CAAC,GAAR,CAAY,gCAHE,IAId,mFAJF;AAKA,UAAM,SAAS,GAAG,OAAO,CAAC,GAAR,CAAY,+CAAZ,IAChB,OAAO,CAAC,GAAR,CAAY,+CADI,IAEhB,OAAO,CAAC,GAAR,CAAY,uDAFI,IAGhB,OAAO,CAAC,GAAR,CAAY,oCAHI,IAIhB,OAJF;AAKA,UAAM,SAAS,GAAG,OAAO,GAAG,KAA5B;AACA,IAAA,GAAG,GAAG,GAAG,OAAO,GAAG,SAAS,IAAI,SAAS,EAAzC;AACD;;AAED,SAAO,MAAM,CAAC,OAAD,EAAU,GAAV,EAAe,QAAf,CAAb;AACD;;AAEK,SAAU,MAAV,CAAiB,IAAjB,EAA+B,GAA/B,EAAoD,QAApD,EAA4E;AAChF,MAAI,OAAO,GAAG,gBAAgB,CAAC,GAAjB,CAAqB,
|
|
1
|
+
{"version":3,"sources":["../src/binDownload.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA,MAAM,gBAAgB,GAAG,IAAI,GAAJ,EAAzB;;AAEM,SAAU,QAAV,CAAmB,GAAnB,EAAgC,MAAhC,EAAgD,QAAhD,EAAwE;AAC5E,QAAM,IAAI,GAAG,CAAC,UAAD,EAAa,OAAb,EAAsB,GAAtB,EAA2B,UAA3B,EAAuC,MAAvC,CAAb;;AACA,MAAI,QAAQ,IAAI,IAAhB,EAAsB;AACpB,IAAA,IAAI,CAAC,IAAL,CAAU,UAAV,EAAsB,QAAtB;AACD;;AACD,SAAO,sCAAkB,IAAlB,CAAP;AACD;;AAEK,SAAU,aAAV,CAAwB,IAAxB,EAAsC,OAAtC,EAAuD,QAAvD,EAAuE;AAC3E,QAAM,OAAO,GAAG,GAAG,IAAI,IAAI,OAAO,EAAlC;AACA,MAAI,GAAJ;;AACA,MAAI,OAAO,CAAC,GAAR,CAAY,+CAAhB,EAAiE;AAC/D,IAAA,GAAG,GAAG,OAAO,CAAC,GAAR,CAAY,+CAAZ,GAA8D,GAA9D,GAAoE,OAApE,GAA8E,KAApF;AACD,GAFD,MAGK;AAEH,UAAM,OAAO,GAAG,OAAO,CAAC,GAAR,CAAY,2CAAZ,IACd,OAAO,CAAC,GAAR,CAAY,2CADE,IAEd,OAAO,CAAC,GAAR,CAAY,mDAFE,IAGd,OAAO,CAAC,GAAR,CAAY,gCAHE,IAId,mFAJF;AAKA,UAAM,SAAS,GAAG,OAAO,CAAC,GAAR,CAAY,+CAAZ,IAChB,OAAO,CAAC,GAAR,CAAY,+CADI,IAEhB,OAAO,CAAC,GAAR,CAAY,uDAFI,IAGhB,OAAO,CAAC,GAAR,CAAY,oCAHI,IAIhB,OAJF;AAKA,UAAM,SAAS,GAAG,OAAO,GAAG,KAA5B;AACA,IAAA,GAAG,GAAG,GAAG,OAAO,GAAG,SAAS,IAAI,SAAS,EAAzC;AACD;;AAED,SAAO,MAAM,CAAC,OAAD,EAAU,GAAV,EAAe,QAAf,CAAb;AACD;;AAEK,SAAU,MAAV,CAAiB,IAAjB,EAA+B,GAA/B,EAAoD,QAApD,EAA4E;AAChF;AACA,QAAM,SAAS,GAAG,OAAO,CAAC,GAAR,CAAY,sBAAZ,GAAqC,IAAvD;AACA,MAAI,OAAO,GAAG,gBAAgB,CAAC,GAAjB,CAAqB,SAArB,CAAd,CAHgF,CAGlC;;AAE9C,MAAI,OAAO,IAAI,IAAf,EAAqB;AACnB,WAAO,OAAP;AACD;;AAED,EAAA,OAAO,GAAG,QAAQ,CAAC,IAAD,EAAO,GAAP,EAAY,QAAZ,CAAlB;AACA,EAAA,gBAAgB,CAAC,GAAjB,CAAqB,SAArB,EAAgC,OAAhC;AACA,SAAO,OAAP;AACD;;AAED,SAAS,QAAT,CAAkB,IAAlB,EAAgC,GAAhC,EAAgE,QAAhE,EAAmG;AACjG,QAAM,IAAI,GAAG,CAAC,mBAAD,EAAsB,QAAtB,EAAgC,IAAhC,CAAb;;AACA,MAAI,GAAG,IAAI,IAAX,EAAiB;AACf,IAAA,IAAI,CAAC,IAAL,CAAU,OAAV,EAAmB,GAAnB;AACD;;AACD,MAAI,QAAQ,IAAI,IAAhB,EAAsB;AACpB,IAAA,IAAI,CAAC,IAAL,CAAU,UAAV,EAAsB,QAAtB;AACD;;AACD,SAAO,sCAAkB,IAAlB,CAAP;AACD,C","sourcesContent":["import { executeAppBuilder } from \"builder-util\"\n\nconst versionToPromise = new Map<string, Promise<string>>()\n\nexport function download(url: string, output: string, checksum?: string | null): Promise<void> {\n const args = [\"download\", \"--url\", url, \"--output\", output]\n if (checksum != null) {\n args.push(\"--sha512\", checksum)\n }\n return executeAppBuilder(args) as Promise<any>\n}\n\nexport function getBinFromUrl(name: string, version: string, checksum: string): Promise<string> {\n const dirName = `${name}-${version}`\n let url: string\n if (process.env.ELECTRON_BUILDER_BINARIES_DOWNLOAD_OVERRIDE_URL) {\n url = process.env.ELECTRON_BUILDER_BINARIES_DOWNLOAD_OVERRIDE_URL + \"/\" + dirName + \".7z\"\n }\n else {\n\n const baseUrl = process.env.NPM_CONFIG_ELECTRON_BUILDER_BINARIES_MIRROR ||\n process.env.npm_config_electron_builder_binaries_mirror ||\n process.env.npm_package_config_electron_builder_binaries_mirror ||\n process.env.ELECTRON_BUILDER_BINARIES_MIRROR ||\n \"https://github.com/electron-userland/electron-builder-binaries/releases/download/\"\n const middleUrl = process.env.NPM_CONFIG_ELECTRON_BUILDER_BINARIES_CUSTOM_DIR ||\n process.env.npm_config_electron_builder_binaries_custom_dir ||\n process.env.npm_package_config_electron_builder_binaries_custom_dir ||\n process.env.ELECTRON_BUILDER_BINARIES_CUSTOM_DIR ||\n dirName\n const urlSuffix = dirName + \".7z\"\n url = `${baseUrl}${middleUrl}/${urlSuffix}`\n }\n\n return getBin(dirName, url, checksum)\n}\n\nexport function getBin(name: string, url?: string | null, checksum?: string | null): Promise<string> {\n // Old cache is ignored if cache environment variable changes\n const cacheName = process.env.ELECTRON_BUILDER_CACHE + name;\n let promise = versionToPromise.get(cacheName);// if rejected, we will try to download again\n\n if (promise != null) {\n return promise\n }\n\n promise = doGetBin(name, url, checksum)\n versionToPromise.set(cacheName, promise)\n return promise\n}\n\nfunction doGetBin(name: string, url: string | undefined | null, checksum: string | null | undefined): Promise<string> {\n const args = [\"download-artifact\", \"--name\", name]\n if (url != null) {\n args.push(\"--url\", url)\n }\n if (checksum != null) {\n args.push(\"--sha512\", checksum)\n }\n return executeAppBuilder(args)\n}"],"sourceRoot":""}
|
package/out/core.js
CHANGED
|
@@ -15,66 +15,72 @@ function _builderUtil() {
|
|
|
15
15
|
return data;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
18
|
+
let Platform =
|
|
19
|
+
/** @class */
|
|
20
|
+
(() => {
|
|
21
|
+
class Platform {
|
|
22
|
+
constructor(name, buildConfigurationKey, nodeName) {
|
|
23
|
+
this.name = name;
|
|
24
|
+
this.buildConfigurationKey = buildConfigurationKey;
|
|
25
|
+
this.nodeName = nodeName;
|
|
26
|
+
}
|
|
28
27
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return new Map([[this, new Map()]]);
|
|
28
|
+
toString() {
|
|
29
|
+
return this.name;
|
|
32
30
|
}
|
|
33
31
|
|
|
34
|
-
|
|
32
|
+
createTarget(type, ...archs) {
|
|
33
|
+
if (type == null && (archs == null || archs.length === 0)) {
|
|
34
|
+
return new Map([[this, new Map()]]);
|
|
35
|
+
}
|
|
35
36
|
|
|
36
|
-
|
|
37
|
-
archs = [_builderUtil().Arch.x64];
|
|
38
|
-
}
|
|
37
|
+
const archToType = new Map();
|
|
39
38
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
if (this === Platform.MAC) {
|
|
40
|
+
archs = [_builderUtil().Arch.x64];
|
|
41
|
+
}
|
|
43
42
|
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
for (const arch of archs == null || archs.length === 0 ? [(0, _builderUtil().archFromString)(process.arch)] : archs) {
|
|
44
|
+
archToType.set(arch, type == null ? [] : Array.isArray(type) ? type : [type]);
|
|
45
|
+
}
|
|
46
46
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
47
|
+
return new Map([[this, archToType]]);
|
|
48
|
+
}
|
|
50
49
|
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
static current() {
|
|
51
|
+
return Platform.fromString(process.platform);
|
|
52
|
+
}
|
|
53
53
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
case Platform.MAC.name:
|
|
57
|
-
return Platform.MAC;
|
|
54
|
+
static fromString(name) {
|
|
55
|
+
name = name.toLowerCase();
|
|
58
56
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
57
|
+
switch (name) {
|
|
58
|
+
case Platform.MAC.nodeName:
|
|
59
|
+
case Platform.MAC.name:
|
|
60
|
+
return Platform.MAC;
|
|
63
61
|
|
|
64
|
-
|
|
65
|
-
|
|
62
|
+
case Platform.WINDOWS.nodeName:
|
|
63
|
+
case Platform.WINDOWS.name:
|
|
64
|
+
case Platform.WINDOWS.buildConfigurationKey:
|
|
65
|
+
return Platform.WINDOWS;
|
|
66
66
|
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
case Platform.LINUX.nodeName:
|
|
68
|
+
return Platform.LINUX;
|
|
69
|
+
|
|
70
|
+
default:
|
|
71
|
+
throw new Error(`Unknown platform: ${name}`);
|
|
72
|
+
}
|
|
69
73
|
}
|
|
74
|
+
|
|
70
75
|
}
|
|
71
76
|
|
|
72
|
-
|
|
77
|
+
Platform.MAC = new Platform("mac", "mac", "darwin");
|
|
78
|
+
Platform.LINUX = new Platform("linux", "linux", "linux");
|
|
79
|
+
Platform.WINDOWS = new Platform("windows", "win", "win32");
|
|
80
|
+
return Platform;
|
|
81
|
+
})();
|
|
73
82
|
|
|
74
83
|
exports.Platform = Platform;
|
|
75
|
-
Platform.MAC = new Platform("mac", "mac", "darwin");
|
|
76
|
-
Platform.LINUX = new Platform("linux", "linux", "linux");
|
|
77
|
-
Platform.WINDOWS = new Platform("windows", "win", "win32");
|
|
78
84
|
|
|
79
85
|
class Target {
|
|
80
86
|
constructor(name, isAsyncSupported = true) {
|
package/out/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core.ts"],"names":[],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;
|
|
1
|
+
{"version":3,"sources":["../src/core.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arch, archFromString, ArchType } from \"builder-util\"\nimport { AllPublishOptions } from \"builder-util-runtime\"\nimport { SnapStoreOptions } from \"./publish/SnapStorePublisher\"\n\n// https://github.com/YousefED/typescript-json-schema/issues/80\nexport type Publish = AllPublishOptions | SnapStoreOptions | Array<AllPublishOptions | SnapStoreOptions> | null\n\nexport type TargetConfigType = Array<string | TargetConfiguration> | string | TargetConfiguration | null\n\nexport interface TargetConfiguration {\n /**\n * The target name. e.g. `snap`.\n */\n readonly target: string\n\n /**\n * The arch or list of archs.\n */\n readonly arch?: Array<ArchType> | ArchType\n}\n\nexport class Platform {\n static MAC = new Platform(\"mac\", \"mac\", \"darwin\")\n static LINUX = new Platform(\"linux\", \"linux\", \"linux\")\n static WINDOWS = new Platform(\"windows\", \"win\", \"win32\")\n\n constructor(public name: string, public buildConfigurationKey: string, public nodeName: NodeJS.Platform) {\n }\n\n toString() {\n return this.name\n }\n\n createTarget(type?: string | Array<string> | null, ...archs: Array<Arch>): Map<Platform, Map<Arch, Array<string>>> {\n if (type == null && (archs == null || archs.length === 0)) {\n return new Map([[this, new Map()]])\n }\n\n const archToType = new Map()\n if (this === Platform.MAC) {\n archs = [Arch.x64]\n }\n\n for (const arch of (archs == null || archs.length === 0 ? [archFromString(process.arch)] : archs)) {\n archToType.set(arch, type == null ? [] : (Array.isArray(type) ? type : [type]))\n }\n return new Map([[this, archToType]])\n }\n\n static current(): Platform {\n return Platform.fromString(process.platform)\n }\n\n static fromString(name: string): Platform {\n name = name.toLowerCase()\n switch (name) {\n case Platform.MAC.nodeName:\n case Platform.MAC.name:\n return Platform.MAC\n\n case Platform.WINDOWS.nodeName:\n case Platform.WINDOWS.name:\n case Platform.WINDOWS.buildConfigurationKey:\n return Platform.WINDOWS\n\n case Platform.LINUX.nodeName:\n return Platform.LINUX\n\n default:\n throw new Error(`Unknown platform: ${name}`)\n }\n }\n}\n\nexport abstract class Target {\n abstract readonly outDir: string\n abstract readonly options: TargetSpecificOptions | null | undefined\n\n protected constructor(readonly name: string, readonly isAsyncSupported: boolean = true) {\n }\n\n async checkOptions(): Promise<any> {\n // ignore\n }\n\n abstract build(appOutDir: string, arch: Arch): Promise<any>\n\n finishBuild(): Promise<any> {\n return Promise.resolve()\n }\n}\n\nexport interface TargetSpecificOptions {\n /**\n The [artifact file name template](/configuration/configuration#artifact-file-name-template).\n */\n readonly artifactName?: string | null\n\n publish?: Publish\n}\n\nexport const DEFAULT_TARGET = \"default\"\nexport const DIR_TARGET = \"dir\"\n\nexport type CompressionLevel = \"store\" | \"normal\" | \"maximum\"\n\nexport interface BeforeBuildContext {\n readonly appDir: string\n readonly electronVersion: string\n readonly platform: Platform\n readonly arch: string\n}\n\nexport interface SourceRepositoryInfo {\n type?: string\n domain?: string\n user: string\n project: string\n}"],"sourceRoot":""}
|
|
@@ -259,6 +259,7 @@ async function createMacApp(packager, appOutDir, asarIntegrity, isMas) {
|
|
|
259
259
|
CFBundleTypeExtensions: extensions,
|
|
260
260
|
CFBundleTypeName: fileAssociation.name || extensions[0],
|
|
261
261
|
CFBundleTypeRole: fileAssociation.role || "Editor",
|
|
262
|
+
LSHandlerRank: fileAssociation.rank || "Default",
|
|
262
263
|
CFBundleTypeIconFile: iconFile
|
|
263
264
|
};
|
|
264
265
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/electron/electronMac.ts"],"names":[],"mappings":"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","sourcesContent":["import BluebirdPromise from \"bluebird-lst\"\nimport { asArray, getPlatformIconFileName, InvalidConfigurationError, log } from \"builder-util\"\nimport { copyOrLinkFile, unlinkIfExists } from \"builder-util/out/fs\"\nimport { rename, utimes } from \"fs-extra\"\nimport * as path from \"path\"\nimport { filterCFBundleIdentifier } from \"../appInfo\"\nimport { AsarIntegrity } from \"../asar/integrity\"\nimport MacPackager from \"../macPackager\"\nimport { normalizeExt } from \"../platformPackager\"\nimport { executeAppBuilderAndWriteJson, executeAppBuilderAsJson } from \"../util/appBuilder\"\n\nfunction doRename(basePath: string, oldName: string, newName: string) {\n return rename(path.join(basePath, oldName), path.join(basePath, newName))\n}\n\nfunction moveHelpers(helperSuffixes: Array<string>, frameworksPath: string, appName: string, prefix: string): Promise<any> {\n return BluebirdPromise.map(helperSuffixes, suffix => {\n const executableBasePath = path.join(frameworksPath, `${prefix}${suffix}.app`, \"Contents\", \"MacOS\")\n return doRename(executableBasePath, `${prefix}${suffix}`, appName + suffix)\n .then(() => doRename(frameworksPath, `${prefix}${suffix}.app`, `${appName}${suffix}.app`))\n })\n}\n\nfunction getAvailableHelperSuffixes(helperEHPlist: string | null, helperNPPlist: string | null, helperRendererPlist: string | null, helperPluginPlist: string | null, helperGPUPlist: string | null) {\n\n const result = [\" Helper\"]\n if (helperEHPlist != null) {\n result.push(\" Helper EH\")\n }\n if (helperNPPlist != null) {\n result.push(\" Helper NP\")\n }\n if (helperRendererPlist != null) {\n result.push(\" Helper (Renderer)\")\n }\n if (helperPluginPlist != null) {\n result.push(\" Helper (Plugin)\")\n }\n if (helperGPUPlist != null) {\n result.push(\" Helper (GPU)\")\n }\n return result\n}\n\n/** @internal */\nexport async function createMacApp(packager: MacPackager, appOutDir: string, asarIntegrity: AsarIntegrity | null, isMas: boolean) {\n const appInfo = packager.appInfo\n const appFilename = appInfo.productFilename\n\n const contentsPath = path.join(appOutDir, packager.info.framework.distMacOsAppName, \"Contents\")\n const frameworksPath = path.join(contentsPath, \"Frameworks\")\n const loginItemPath = path.join(contentsPath, \"Library\", \"LoginItems\")\n\n const appPlistFilename = path.join(contentsPath, \"Info.plist\")\n const helperPlistFilename = path.join(frameworksPath, \"Electron Helper.app\", \"Contents\", \"Info.plist\")\n const helperEHPlistFilename = path.join(frameworksPath, \"Electron Helper EH.app\", \"Contents\", \"Info.plist\")\n const helperNPPlistFilename = path.join(frameworksPath, \"Electron Helper NP.app\", \"Contents\", \"Info.plist\")\n const helperRendererPlistFilename = path.join(frameworksPath, \"Electron Helper (Renderer).app\", \"Contents\", \"Info.plist\")\n const helperPluginPlistFilename = path.join(frameworksPath, \"Electron Helper (Plugin).app\", \"Contents\", \"Info.plist\")\n const helperGPUPlistFilename = path.join(frameworksPath, \"Electron Helper (GPU).app\", \"Contents\", \"Info.plist\")\n const helperLoginPlistFilename = path.join(loginItemPath, \"Electron Login Helper.app\", \"Contents\", \"Info.plist\")\n\n const plistContent: Array<any> = await executeAppBuilderAsJson([\"decode-plist\", \"-f\", appPlistFilename, \"-f\", helperPlistFilename, \"-f\", helperEHPlistFilename, \"-f\", helperNPPlistFilename, \"-f\", helperRendererPlistFilename, \"-f\", helperPluginPlistFilename, \"-f\", helperGPUPlistFilename, \"-f\", helperLoginPlistFilename])\n\n if (plistContent[0] == null) {\n throw new Error(\"corrupted Electron dist\")\n }\n\n const appPlist = plistContent[0]!!\n const helperPlist = plistContent[1]!!\n const helperEHPlist = plistContent[2]\n const helperNPPlist = plistContent[3]\n const helperRendererPlist = plistContent[4]\n const helperPluginPlist = plistContent[5]\n const helperGPUPlist = plistContent[6]\n const helperLoginPlist = plistContent[7]\n\n // if an extend-info file was supplied, copy its contents in first\n if (plistContent[8] != null) {\n Object.assign(appPlist, plistContent[8])\n }\n\n const buildMetadata = packager.config!!\n\n /**\n * Configure bundleIdentifier for the generic Electron Helper process\n *\n * This was the only Helper in Electron 5 and before. Allow users to configure\n * the bundleIdentifier for continuity.\n */\n\n const oldHelperBundleId = (buildMetadata as any)[\"helper-bundle-id\"]\n if (oldHelperBundleId != null) {\n log.warn(\"build.helper-bundle-id is deprecated, please set as build.mac.helperBundleId\")\n }\n const helperBundleIdentifier = filterCFBundleIdentifier(packager.platformSpecificBuildOptions.helperBundleId || oldHelperBundleId || `${appInfo.macBundleIdentifier}.helper`)\n\n await packager.applyCommonInfo(appPlist, contentsPath)\n\n // required for electron-updater proxy\n if (!isMas) {\n configureLocalhostAts(appPlist)\n }\n\n helperPlist.CFBundleExecutable = `${appFilename} Helper`\n helperPlist.CFBundleDisplayName = `${appInfo.productName} Helper`\n helperPlist.CFBundleIdentifier = helperBundleIdentifier\n helperPlist.CFBundleVersion = appPlist.CFBundleVersion\n\n /**\n * Configure bundleIdentifier for Electron 5+ Helper processes\n *\n * In Electron 6, parts of the generic Electron Helper process were split into\n * individual helper processes. Allow users to configure the bundleIdentifiers\n * for continuity, specifically because macOS keychain access relies on\n * bundleIdentifiers not changing (i.e. across versions of Electron).\n */\n\n function configureHelper(helper: any, postfix: string, userProvidedBundleIdentifier?: string | null) {\n helper.CFBundleExecutable = `${appFilename} Helper ${postfix}`\n helper.CFBundleDisplayName = `${appInfo.productName} Helper ${postfix}`\n helper.CFBundleIdentifier = userProvidedBundleIdentifier\n ? filterCFBundleIdentifier(userProvidedBundleIdentifier)\n : `${helperBundleIdentifier}.${postfix.replace(/[^a-z0-9]/gim, \"\")}`\n helper.CFBundleVersion = appPlist.CFBundleVersion\n }\n\n if (helperRendererPlist != null) {\n configureHelper(helperRendererPlist, \"(Renderer)\", packager.platformSpecificBuildOptions.helperRendererBundleId)\n }\n if (helperPluginPlist != null) {\n configureHelper(helperPluginPlist, \"(Plugin)\", packager.platformSpecificBuildOptions.helperPluginBundleId)\n }\n if (helperGPUPlist != null) {\n configureHelper(helperGPUPlist, \"(GPU)\", packager.platformSpecificBuildOptions.helperGPUBundleId)\n }\n if (helperEHPlist != null) {\n configureHelper(helperEHPlist, \"EH\", packager.platformSpecificBuildOptions.helperEHBundleId)\n }\n if (helperNPPlist != null) {\n configureHelper(helperNPPlist, \"NP\", packager.platformSpecificBuildOptions.helperNPBundleId)\n }\n if (helperLoginPlist != null) {\n helperLoginPlist.CFBundleExecutable = `${appFilename} Login Helper`\n helperLoginPlist.CFBundleDisplayName = `${appInfo.productName} Login Helper`\n // noinspection SpellCheckingInspection\n helperLoginPlist.CFBundleIdentifier = `${appInfo.macBundleIdentifier}.loginhelper`\n helperLoginPlist.CFBundleVersion = appPlist.CFBundleVersion\n }\n\n const protocols = asArray(buildMetadata.protocols).concat(asArray(packager.platformSpecificBuildOptions.protocols))\n if (protocols.length > 0) {\n appPlist.CFBundleURLTypes = protocols.map(protocol => {\n const schemes = asArray(protocol.schemes)\n if (schemes.length === 0) {\n throw new InvalidConfigurationError(`Protocol \"${protocol.name}\": must be at least one scheme specified`)\n }\n return {\n CFBundleURLName: protocol.name,\n CFBundleTypeRole: protocol.role || \"Editor\",\n CFBundleURLSchemes: schemes.slice()\n }\n })\n }\n\n const fileAssociations = packager.fileAssociations\n if (fileAssociations.length > 0) {\n appPlist.CFBundleDocumentTypes = await BluebirdPromise.map(fileAssociations, async fileAssociation => {\n const extensions = asArray(fileAssociation.ext).map(normalizeExt)\n const customIcon = await packager.getResource(getPlatformIconFileName(fileAssociation.icon, true), `${extensions[0]}.icns`)\n let iconFile = appPlist.CFBundleIconFile\n if (customIcon != null) {\n iconFile = path.basename(customIcon)\n await copyOrLinkFile(customIcon, path.join(path.join(contentsPath, \"Resources\"), iconFile))\n }\n\n const result = {\n CFBundleTypeExtensions: extensions,\n CFBundleTypeName: fileAssociation.name || extensions[0],\n CFBundleTypeRole: fileAssociation.role || \"Editor\",\n CFBundleTypeIconFile: iconFile\n } as any\n\n if (fileAssociation.isPackage) {\n result.LSTypeIsPackage = true\n }\n return result\n })\n }\n\n if (asarIntegrity != null) {\n appPlist.AsarIntegrity = JSON.stringify(asarIntegrity)\n }\n\n const plistDataToWrite: any = {\n [appPlistFilename]: appPlist,\n [helperPlistFilename]: helperPlist,\n }\n if (helperEHPlist != null) {\n plistDataToWrite[helperEHPlistFilename] = helperEHPlist\n }\n if (helperNPPlist != null) {\n plistDataToWrite[helperNPPlistFilename] = helperNPPlist\n }\n if (helperRendererPlist != null) {\n plistDataToWrite[helperRendererPlistFilename] = helperRendererPlist\n }\n if (helperPluginPlist != null) {\n plistDataToWrite[helperPluginPlistFilename] = helperPluginPlist\n }\n if (helperGPUPlist != null) {\n plistDataToWrite[helperGPUPlistFilename] = helperGPUPlist\n }\n if (helperLoginPlist != null) {\n plistDataToWrite[helperLoginPlistFilename] = helperLoginPlist\n }\n\n await Promise.all([\n executeAppBuilderAndWriteJson([\"encode-plist\"], plistDataToWrite),\n doRename(path.join(contentsPath, \"MacOS\"), \"Electron\", appPlist.CFBundleExecutable),\n unlinkIfExists(path.join(appOutDir, \"LICENSE\")),\n unlinkIfExists(path.join(appOutDir, \"LICENSES.chromium.html\")),\n ])\n\n await moveHelpers(getAvailableHelperSuffixes(helperEHPlist, helperNPPlist, helperRendererPlist, helperPluginPlist, helperGPUPlist), frameworksPath, appFilename, \"Electron\")\n\n if (helperLoginPlist != null) {\n const prefix = \"Electron\"\n const suffix = \" Login Helper\"\n const executableBasePath = path.join(loginItemPath, `${prefix}${suffix}.app`, \"Contents\", \"MacOS\")\n await doRename(executableBasePath, `${prefix}${suffix}`, appFilename + suffix)\n .then(() => doRename(loginItemPath, `${prefix}${suffix}.app`, `${appFilename}${suffix}.app`))\n }\n\n const appPath = path.join(appOutDir, `${appFilename}.app`)\n await rename(path.dirname(contentsPath), appPath)\n // https://github.com/electron-userland/electron-builder/issues/840\n const now = Date.now() / 1000\n await utimes(appPath, now, now)\n}\n\nfunction configureLocalhostAts(appPlist: any) {\n // https://bencoding.com/2015/07/20/app-transport-security-and-localhost/\n let ats = appPlist.NSAppTransportSecurity\n if (ats == null) {\n ats = {}\n appPlist.NSAppTransportSecurity = ats\n }\n\n ats.NSAllowsLocalNetworking = true\n // https://github.com/electron-userland/electron-builder/issues/3377#issuecomment-446035814\n ats.NSAllowsArbitraryLoads = true\n\n let exceptionDomains = ats.NSExceptionDomains\n if (exceptionDomains == null) {\n exceptionDomains = {}\n ats.NSExceptionDomains = exceptionDomains\n }\n\n if (exceptionDomains.localhost == null) {\n const allowHttp = {\n NSTemporaryExceptionAllowsInsecureHTTPSLoads: false,\n NSIncludesSubdomains: false,\n NSTemporaryExceptionAllowsInsecureHTTPLoads: true,\n NSTemporaryExceptionMinimumTLSVersion: \"1.0\",\n NSTemporaryExceptionRequiresForwardSecrecy: false\n }\n exceptionDomains.localhost = allowHttp\n exceptionDomains[\"127.0.0.1\"] = allowHttp\n }\n}\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["../../src/electron/electronMac.ts"],"names":[],"mappings":"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","sourcesContent":["import BluebirdPromise from \"bluebird-lst\"\nimport { asArray, getPlatformIconFileName, InvalidConfigurationError, log } from \"builder-util\"\nimport { copyOrLinkFile, unlinkIfExists } from \"builder-util/out/fs\"\nimport { rename, utimes } from \"fs-extra\"\nimport * as path from \"path\"\nimport { filterCFBundleIdentifier } from \"../appInfo\"\nimport { AsarIntegrity } from \"../asar/integrity\"\nimport MacPackager from \"../macPackager\"\nimport { normalizeExt } from \"../platformPackager\"\nimport { executeAppBuilderAndWriteJson, executeAppBuilderAsJson } from \"../util/appBuilder\"\n\nfunction doRename(basePath: string, oldName: string, newName: string) {\n return rename(path.join(basePath, oldName), path.join(basePath, newName))\n}\n\nfunction moveHelpers(helperSuffixes: Array<string>, frameworksPath: string, appName: string, prefix: string): Promise<any> {\n return BluebirdPromise.map(helperSuffixes, suffix => {\n const executableBasePath = path.join(frameworksPath, `${prefix}${suffix}.app`, \"Contents\", \"MacOS\")\n return doRename(executableBasePath, `${prefix}${suffix}`, appName + suffix)\n .then(() => doRename(frameworksPath, `${prefix}${suffix}.app`, `${appName}${suffix}.app`))\n })\n}\n\nfunction getAvailableHelperSuffixes(helperEHPlist: string | null, helperNPPlist: string | null, helperRendererPlist: string | null, helperPluginPlist: string | null, helperGPUPlist: string | null) {\n\n const result = [\" Helper\"]\n if (helperEHPlist != null) {\n result.push(\" Helper EH\")\n }\n if (helperNPPlist != null) {\n result.push(\" Helper NP\")\n }\n if (helperRendererPlist != null) {\n result.push(\" Helper (Renderer)\")\n }\n if (helperPluginPlist != null) {\n result.push(\" Helper (Plugin)\")\n }\n if (helperGPUPlist != null) {\n result.push(\" Helper (GPU)\")\n }\n return result\n}\n\n/** @internal */\nexport async function createMacApp(packager: MacPackager, appOutDir: string, asarIntegrity: AsarIntegrity | null, isMas: boolean) {\n const appInfo = packager.appInfo\n const appFilename = appInfo.productFilename\n\n const contentsPath = path.join(appOutDir, packager.info.framework.distMacOsAppName, \"Contents\")\n const frameworksPath = path.join(contentsPath, \"Frameworks\")\n const loginItemPath = path.join(contentsPath, \"Library\", \"LoginItems\")\n\n const appPlistFilename = path.join(contentsPath, \"Info.plist\")\n const helperPlistFilename = path.join(frameworksPath, \"Electron Helper.app\", \"Contents\", \"Info.plist\")\n const helperEHPlistFilename = path.join(frameworksPath, \"Electron Helper EH.app\", \"Contents\", \"Info.plist\")\n const helperNPPlistFilename = path.join(frameworksPath, \"Electron Helper NP.app\", \"Contents\", \"Info.plist\")\n const helperRendererPlistFilename = path.join(frameworksPath, \"Electron Helper (Renderer).app\", \"Contents\", \"Info.plist\")\n const helperPluginPlistFilename = path.join(frameworksPath, \"Electron Helper (Plugin).app\", \"Contents\", \"Info.plist\")\n const helperGPUPlistFilename = path.join(frameworksPath, \"Electron Helper (GPU).app\", \"Contents\", \"Info.plist\")\n const helperLoginPlistFilename = path.join(loginItemPath, \"Electron Login Helper.app\", \"Contents\", \"Info.plist\")\n\n const plistContent: Array<any> = await executeAppBuilderAsJson([\"decode-plist\", \"-f\", appPlistFilename, \"-f\", helperPlistFilename, \"-f\", helperEHPlistFilename, \"-f\", helperNPPlistFilename, \"-f\", helperRendererPlistFilename, \"-f\", helperPluginPlistFilename, \"-f\", helperGPUPlistFilename, \"-f\", helperLoginPlistFilename])\n\n if (plistContent[0] == null) {\n throw new Error(\"corrupted Electron dist\")\n }\n\n const appPlist = plistContent[0]!!\n const helperPlist = plistContent[1]!!\n const helperEHPlist = plistContent[2]\n const helperNPPlist = plistContent[3]\n const helperRendererPlist = plistContent[4]\n const helperPluginPlist = plistContent[5]\n const helperGPUPlist = plistContent[6]\n const helperLoginPlist = plistContent[7]\n\n // if an extend-info file was supplied, copy its contents in first\n if (plistContent[8] != null) {\n Object.assign(appPlist, plistContent[8])\n }\n\n const buildMetadata = packager.config!!\n\n /**\n * Configure bundleIdentifier for the generic Electron Helper process\n *\n * This was the only Helper in Electron 5 and before. Allow users to configure\n * the bundleIdentifier for continuity.\n */\n\n const oldHelperBundleId = (buildMetadata as any)[\"helper-bundle-id\"]\n if (oldHelperBundleId != null) {\n log.warn(\"build.helper-bundle-id is deprecated, please set as build.mac.helperBundleId\")\n }\n const helperBundleIdentifier = filterCFBundleIdentifier(packager.platformSpecificBuildOptions.helperBundleId || oldHelperBundleId || `${appInfo.macBundleIdentifier}.helper`)\n\n await packager.applyCommonInfo(appPlist, contentsPath)\n\n // required for electron-updater proxy\n if (!isMas) {\n configureLocalhostAts(appPlist)\n }\n\n helperPlist.CFBundleExecutable = `${appFilename} Helper`\n helperPlist.CFBundleDisplayName = `${appInfo.productName} Helper`\n helperPlist.CFBundleIdentifier = helperBundleIdentifier\n helperPlist.CFBundleVersion = appPlist.CFBundleVersion\n\n /**\n * Configure bundleIdentifier for Electron 5+ Helper processes\n *\n * In Electron 6, parts of the generic Electron Helper process were split into\n * individual helper processes. Allow users to configure the bundleIdentifiers\n * for continuity, specifically because macOS keychain access relies on\n * bundleIdentifiers not changing (i.e. across versions of Electron).\n */\n\n function configureHelper(helper: any, postfix: string, userProvidedBundleIdentifier?: string | null) {\n helper.CFBundleExecutable = `${appFilename} Helper ${postfix}`\n helper.CFBundleDisplayName = `${appInfo.productName} Helper ${postfix}`\n helper.CFBundleIdentifier = userProvidedBundleIdentifier\n ? filterCFBundleIdentifier(userProvidedBundleIdentifier)\n : `${helperBundleIdentifier}.${postfix.replace(/[^a-z0-9]/gim, \"\")}`\n helper.CFBundleVersion = appPlist.CFBundleVersion\n }\n\n if (helperRendererPlist != null) {\n configureHelper(helperRendererPlist, \"(Renderer)\", packager.platformSpecificBuildOptions.helperRendererBundleId)\n }\n if (helperPluginPlist != null) {\n configureHelper(helperPluginPlist, \"(Plugin)\", packager.platformSpecificBuildOptions.helperPluginBundleId)\n }\n if (helperGPUPlist != null) {\n configureHelper(helperGPUPlist, \"(GPU)\", packager.platformSpecificBuildOptions.helperGPUBundleId)\n }\n if (helperEHPlist != null) {\n configureHelper(helperEHPlist, \"EH\", packager.platformSpecificBuildOptions.helperEHBundleId)\n }\n if (helperNPPlist != null) {\n configureHelper(helperNPPlist, \"NP\", packager.platformSpecificBuildOptions.helperNPBundleId)\n }\n if (helperLoginPlist != null) {\n helperLoginPlist.CFBundleExecutable = `${appFilename} Login Helper`\n helperLoginPlist.CFBundleDisplayName = `${appInfo.productName} Login Helper`\n // noinspection SpellCheckingInspection\n helperLoginPlist.CFBundleIdentifier = `${appInfo.macBundleIdentifier}.loginhelper`\n helperLoginPlist.CFBundleVersion = appPlist.CFBundleVersion\n }\n\n const protocols = asArray(buildMetadata.protocols).concat(asArray(packager.platformSpecificBuildOptions.protocols))\n if (protocols.length > 0) {\n appPlist.CFBundleURLTypes = protocols.map(protocol => {\n const schemes = asArray(protocol.schemes)\n if (schemes.length === 0) {\n throw new InvalidConfigurationError(`Protocol \"${protocol.name}\": must be at least one scheme specified`)\n }\n return {\n CFBundleURLName: protocol.name,\n CFBundleTypeRole: protocol.role || \"Editor\",\n CFBundleURLSchemes: schemes.slice()\n }\n })\n }\n\n const fileAssociations = packager.fileAssociations\n if (fileAssociations.length > 0) {\n appPlist.CFBundleDocumentTypes = await BluebirdPromise.map(fileAssociations, async fileAssociation => {\n const extensions = asArray(fileAssociation.ext).map(normalizeExt)\n const customIcon = await packager.getResource(getPlatformIconFileName(fileAssociation.icon, true), `${extensions[0]}.icns`)\n let iconFile = appPlist.CFBundleIconFile\n if (customIcon != null) {\n iconFile = path.basename(customIcon)\n await copyOrLinkFile(customIcon, path.join(path.join(contentsPath, \"Resources\"), iconFile))\n }\n\n const result = {\n CFBundleTypeExtensions: extensions,\n CFBundleTypeName: fileAssociation.name || extensions[0],\n CFBundleTypeRole: fileAssociation.role || \"Editor\",\n LSHandlerRank: fileAssociation.rank || \"Default\",\n CFBundleTypeIconFile: iconFile\n } as any\n\n if (fileAssociation.isPackage) {\n result.LSTypeIsPackage = true\n }\n return result\n })\n }\n\n if (asarIntegrity != null) {\n appPlist.AsarIntegrity = JSON.stringify(asarIntegrity)\n }\n\n const plistDataToWrite: any = {\n [appPlistFilename]: appPlist,\n [helperPlistFilename]: helperPlist,\n }\n if (helperEHPlist != null) {\n plistDataToWrite[helperEHPlistFilename] = helperEHPlist\n }\n if (helperNPPlist != null) {\n plistDataToWrite[helperNPPlistFilename] = helperNPPlist\n }\n if (helperRendererPlist != null) {\n plistDataToWrite[helperRendererPlistFilename] = helperRendererPlist\n }\n if (helperPluginPlist != null) {\n plistDataToWrite[helperPluginPlistFilename] = helperPluginPlist\n }\n if (helperGPUPlist != null) {\n plistDataToWrite[helperGPUPlistFilename] = helperGPUPlist\n }\n if (helperLoginPlist != null) {\n plistDataToWrite[helperLoginPlistFilename] = helperLoginPlist\n }\n\n await Promise.all([\n executeAppBuilderAndWriteJson([\"encode-plist\"], plistDataToWrite),\n doRename(path.join(contentsPath, \"MacOS\"), \"Electron\", appPlist.CFBundleExecutable),\n unlinkIfExists(path.join(appOutDir, \"LICENSE\")),\n unlinkIfExists(path.join(appOutDir, \"LICENSES.chromium.html\")),\n ])\n\n await moveHelpers(getAvailableHelperSuffixes(helperEHPlist, helperNPPlist, helperRendererPlist, helperPluginPlist, helperGPUPlist), frameworksPath, appFilename, \"Electron\")\n\n if (helperLoginPlist != null) {\n const prefix = \"Electron\"\n const suffix = \" Login Helper\"\n const executableBasePath = path.join(loginItemPath, `${prefix}${suffix}.app`, \"Contents\", \"MacOS\")\n await doRename(executableBasePath, `${prefix}${suffix}`, appFilename + suffix)\n .then(() => doRename(loginItemPath, `${prefix}${suffix}.app`, `${appFilename}${suffix}.app`))\n }\n\n const appPath = path.join(appOutDir, `${appFilename}.app`)\n await rename(path.dirname(contentsPath), appPath)\n // https://github.com/electron-userland/electron-builder/issues/840\n const now = Date.now() / 1000\n await utimes(appPath, now, now)\n}\n\nfunction configureLocalhostAts(appPlist: any) {\n // https://bencoding.com/2015/07/20/app-transport-security-and-localhost/\n let ats = appPlist.NSAppTransportSecurity\n if (ats == null) {\n ats = {}\n appPlist.NSAppTransportSecurity = ats\n }\n\n ats.NSAllowsLocalNetworking = true\n // https://github.com/electron-userland/electron-builder/issues/3377#issuecomment-446035814\n ats.NSAllowsArbitraryLoads = true\n\n let exceptionDomains = ats.NSExceptionDomains\n if (exceptionDomains == null) {\n exceptionDomains = {}\n ats.NSExceptionDomains = exceptionDomains\n }\n\n if (exceptionDomains.localhost == null) {\n const allowHttp = {\n NSTemporaryExceptionAllowsInsecureHTTPSLoads: false,\n NSIncludesSubdomains: false,\n NSTemporaryExceptionAllowsInsecureHTTPLoads: true,\n NSTemporaryExceptionMinimumTLSVersion: \"1.0\",\n NSTemporaryExceptionRequiresForwardSecrecy: false\n }\n exceptionDomains.localhost = allowHttp\n exceptionDomains[\"127.0.0.1\"] = allowHttp\n }\n}\n"],"sourceRoot":""}
|
|
@@ -37,4 +37,9 @@ export interface FileAssociation {
|
|
|
37
37
|
* *macOS-only* Whether the document is distributed as a bundle. If set to true, the bundle directory is treated as a file. Corresponds to `LSTypeIsPackage`.
|
|
38
38
|
*/
|
|
39
39
|
readonly isPackage?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* *macOS-only* The app’s rank with respect to the type. The value can be `Owner`, `Default`, `Alternate`, or `None`. Corresponds to `LSHandlerRank`.
|
|
42
|
+
* @default Default
|
|
43
|
+
*/
|
|
44
|
+
readonly rank?: string;
|
|
40
45
|
}
|
package/out/packager.js
CHANGED
|
@@ -252,11 +252,15 @@ async function createUpdateInfo(version, event, releaseInfo) {
|
|
|
252
252
|
sha512
|
|
253
253
|
}];
|
|
254
254
|
const result = {
|
|
255
|
+
// @ts-ignore
|
|
255
256
|
version,
|
|
257
|
+
// @ts-ignore
|
|
256
258
|
files,
|
|
259
|
+
// @ts-ignore
|
|
257
260
|
path: url
|
|
258
261
|
/* backward compatibility, electron-updater 1.x - electron-updater 2.15.0 */
|
|
259
262
|
,
|
|
263
|
+
// @ts-ignore
|
|
260
264
|
sha512
|
|
261
265
|
/* backward compatibility, electron-updater 1.x - electron-updater 2.15.0 */
|
|
262
266
|
,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/publish/updateInfoBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import BluebirdPromise from \"bluebird-lst\"\nimport { Arch, log, safeStringifyJson, serializeToYaml } from \"builder-util\"\nimport { GenericServerOptions, PublishConfiguration, UpdateInfo, WindowsUpdateInfo } from \"builder-util-runtime\"\nimport { outputFile, outputJson, readFile } from \"fs-extra\"\nimport { Lazy } from \"lazy-val\"\nimport * as path from \"path\"\nimport * as semver from \"semver\"\nimport { ReleaseInfo } from \"..\"\nimport { Platform } from \"../core\"\nimport { Packager } from \"../packager\"\nimport { ArtifactCreated } from \"../packagerApi\"\nimport { PlatformPackager } from \"../platformPackager\"\nimport { hashFile } from \"../util/hash\"\nimport { computeDownloadUrl, getPublishConfigsForUpdateInfo } from \"./PublishManager\"\n\nasync function getReleaseInfo(packager: PlatformPackager<any>) {\n const releaseInfo: ReleaseInfo = {...(packager.platformSpecificBuildOptions.releaseInfo || packager.config.releaseInfo)}\n if (releaseInfo.releaseNotes == null) {\n const releaseNotesFile = await packager.getResource(releaseInfo.releaseNotesFile, `release-notes-${packager.platform.buildConfigurationKey}.md`, `release-notes-${packager.platform.name}.md`, `release-notes-${packager.platform.nodeName}.md`, \"release-notes.md\")\n const releaseNotes = releaseNotesFile == null ? null : await readFile(releaseNotesFile, \"utf-8\")\n // to avoid undefined in the file, check for null\n if (releaseNotes != null) {\n releaseInfo.releaseNotes = releaseNotes\n }\n }\n delete releaseInfo.releaseNotesFile\n return releaseInfo\n}\n\nfunction isGenerateUpdatesFilesForAllChannels(packager: PlatformPackager<any>) {\n const value = packager.platformSpecificBuildOptions.generateUpdatesFilesForAllChannels\n return value == null ? packager.config.generateUpdatesFilesForAllChannels : value\n}\n\n/**\n if this is an \"alpha\" version, we need to generate only the \"alpha\" .yml file\n if this is a \"beta\" version, we need to generate both the \"alpha\" and \"beta\" .yml file\n if this is a \"stable\" version, we need to generate all the \"alpha\", \"beta\" and \"stable\" .yml file\n */\nfunction computeChannelNames(packager: PlatformPackager<any>, publishConfig: PublishConfiguration): Array<string> {\n const currentChannel: string = (publishConfig as GenericServerOptions).channel || \"latest\"\n // for GitHub should be pre-release way be used\n if (currentChannel === \"alpha\" || publishConfig.provider === \"github\" || !isGenerateUpdatesFilesForAllChannels(packager)) {\n return [currentChannel]\n }\n\n switch (currentChannel) {\n case \"beta\":\n return [currentChannel, \"alpha\"]\n\n case \"latest\":\n return [currentChannel, \"alpha\", \"beta\"]\n\n default:\n return [currentChannel]\n }\n}\n\nfunction getUpdateInfoFileName(channel: string, packager: PlatformPackager<any>, arch: Arch | null): string {\n const osSuffix = packager.platform === Platform.WINDOWS ? \"\" : `-${packager.platform.buildConfigurationKey}`\n return `${channel}${osSuffix}${getArchPrefixForUpdateFile(arch, packager)}.yml`\n}\n\nfunction getArchPrefixForUpdateFile(arch: Arch | null, packager: PlatformPackager<any>) {\n if (arch == null || arch === Arch.x64 || packager.platform !== Platform.LINUX) {\n return \"\"\n }\n return arch === Arch.armv7l ? \"-arm\" : `-${Arch[arch]}`\n}\n\nexport interface UpdateInfoFileTask {\n readonly file: string\n readonly info: UpdateInfo\n readonly publishConfiguration: PublishConfiguration\n\n readonly packager: PlatformPackager<any>\n}\n\nfunction computeIsisElectronUpdater1xCompatibility(updaterCompatibility: string | null, publishConfiguration: PublishConfiguration, packager: Packager) {\n if (updaterCompatibility != null) {\n return semver.satisfies(\"1.0.0\", updaterCompatibility)\n }\n\n // spaces is a new publish provider, no need to keep backward compatibility\n if (publishConfiguration.provider === \"spaces\") {\n return false\n }\n\n const updaterVersion = packager.metadata.dependencies == null ? null : packager.metadata.dependencies[\"electron-updater\"]\n return updaterVersion == null || semver.lt(updaterVersion, \"4.0.0\")\n}\n\n/** @internal */\nexport async function createUpdateInfoTasks(event: ArtifactCreated, _publishConfigs: Array<PublishConfiguration>): Promise<Array<UpdateInfoFileTask>> {\n const packager = event.packager\n const publishConfigs = await getPublishConfigsForUpdateInfo(packager, _publishConfigs, event.arch)\n if (publishConfigs == null || publishConfigs.length === 0) {\n return []\n }\n\n const outDir = event.target!.outDir\n const version = packager.appInfo.version\n const sha2 = new Lazy<string>(() => hashFile(event.file!, \"sha256\", \"hex\"))\n const isMac = packager.platform === Platform.MAC\n const createdFiles = new Set<string>()\n const sharedInfo = await createUpdateInfo(version, event, await getReleaseInfo(packager))\n const tasks: Array<UpdateInfoFileTask> = []\n const electronUpdaterCompatibility = packager.platformSpecificBuildOptions.electronUpdaterCompatibility || packager.config.electronUpdaterCompatibility || \">=2.15\"\n for (const publishConfiguration of publishConfigs) {\n const isBintray = publishConfiguration.provider === \"bintray\"\n let dir = outDir\n // Bintray uses different variant of channel file info, better to generate it to a separate dir by always\n if (isBintray || (publishConfigs.length > 1 && publishConfiguration !== publishConfigs[0])) {\n dir = path.join(outDir, publishConfiguration.provider)\n }\n\n let isElectronUpdater1xCompatibility = computeIsisElectronUpdater1xCompatibility(electronUpdaterCompatibility, publishConfiguration, packager.info)\n\n let info = sharedInfo\n // noinspection JSDeprecatedSymbols\n if (isElectronUpdater1xCompatibility && packager.platform === Platform.WINDOWS) {\n info = {\n ...info,\n };\n // noinspection JSDeprecatedSymbols\n (info as WindowsUpdateInfo).sha2 = await sha2.value\n }\n\n if (event.safeArtifactName != null && publishConfiguration.provider === \"github\") {\n const newFiles = info.files.slice()\n newFiles[0].url = event.safeArtifactName\n info = {\n ...info,\n files: newFiles,\n path: event.safeArtifactName,\n }\n }\n\n for (const channel of computeChannelNames(packager, publishConfiguration)) {\n if (isMac && isElectronUpdater1xCompatibility && event.file.endsWith(\".zip\")) {\n // write only for first channel (generateUpdatesFilesForAllChannels is a new functionality, no need to generate old mac update info file)\n isElectronUpdater1xCompatibility = false\n await writeOldMacInfo(publishConfiguration, outDir, dir, channel, createdFiles, version, packager)\n }\n\n const updateInfoFile = path.join(dir, (isBintray ? `${version}_` : \"\") + getUpdateInfoFileName(channel, packager, event.arch))\n if (createdFiles.has(updateInfoFile)) {\n continue\n }\n\n createdFiles.add(updateInfoFile)\n\n // artifact should be uploaded only to designated publish provider\n tasks.push({\n file: updateInfoFile,\n info,\n publishConfiguration,\n packager,\n })\n }\n }\n return tasks\n}\n\nasync function createUpdateInfo(version: string, event: ArtifactCreated, releaseInfo: ReleaseInfo): Promise<UpdateInfo> {\n const customUpdateInfo = event.updateInfo\n const url = path.basename(event.file!)\n const sha512 = (customUpdateInfo == null ? null : customUpdateInfo.sha512) || await hashFile(event.file!)\n const files = [{url, sha512}]\n const result: UpdateInfo = {\n version,\n files,\n path: url /* backward compatibility, electron-updater 1.x - electron-updater 2.15.0 */,\n sha512 /* backward compatibility, electron-updater 1.x - electron-updater 2.15.0 */,\n ...releaseInfo as UpdateInfo,\n }\n\n if (customUpdateInfo != null) {\n // file info or nsis web installer packages info\n Object.assign(\"sha512\" in customUpdateInfo ? files[0] : result, customUpdateInfo)\n }\n return result\n}\n\nexport async function writeUpdateInfoFiles(updateInfoFileTasks: Array<UpdateInfoFileTask>, packager: Packager) {\n // zip must be first and zip info must be used for old path/sha512 properties in the update info\n updateInfoFileTasks.sort((a, b) => (a.info.files[0].url.endsWith(\".zip\") ? 0 : 100) - (b.info.files[0].url.endsWith(\".zip\") ? 0 : 100))\n\n const updateChannelFileToInfo = new Map<string, UpdateInfoFileTask>()\n for (const task of updateInfoFileTasks) {\n // https://github.com/electron-userland/electron-builder/pull/2994\n const key = `${task.file}@${safeStringifyJson(task.publishConfiguration, new Set([\"releaseType\"]))}`\n const existingTask = updateChannelFileToInfo.get(key)\n if (existingTask == null) {\n updateChannelFileToInfo.set(key, task)\n continue\n }\n\n existingTask.info.files.push(...task.info.files)\n }\n\n const releaseDate = new Date().toISOString()\n await BluebirdPromise.map(updateChannelFileToInfo.values(), async task => {\n const publishConfig = task.publishConfiguration\n if (publishConfig.publishAutoUpdate === false) {\n log.debug({\n provider: publishConfig.provider,\n reason: \"publishAutoUpdate is set to false\"\n }, \"auto update metadata file not published\")\n return\n }\n\n if (task.info.releaseDate == null) {\n task.info.releaseDate = releaseDate\n }\n\n const fileContent = Buffer.from(serializeToYaml(task.info, false, true))\n await outputFile(task.file, fileContent)\n packager.dispatchArtifactCreated({\n file: task.file,\n fileContent,\n arch: null,\n packager: task.packager,\n target: null,\n publishConfig,\n })\n }, {concurrency: 4})\n}\n\n// backward compatibility - write json file\nasync function writeOldMacInfo(publishConfig: PublishConfiguration, outDir: string, dir: string, channel: string, createdFiles: Set<string>, version: string, packager: PlatformPackager<any>) {\n const isGitHub = publishConfig.provider === \"github\"\n const updateInfoFile = (isGitHub && outDir === dir) ? path.join(dir, \"github\", `${channel}-mac.json`) : path.join(dir, `${channel}-mac.json`)\n if (!createdFiles.has(updateInfoFile)) {\n createdFiles.add(updateInfoFile)\n await outputJson(updateInfoFile, {\n version,\n releaseDate: new Date().toISOString(),\n url: computeDownloadUrl(publishConfig, packager.generateName2(\"zip\", \"mac\", isGitHub), packager),\n }, {spaces: 2})\n\n packager.info.dispatchArtifactCreated({\n file: updateInfoFile,\n arch: null,\n packager,\n target: null,\n publishConfig,\n })\n }\n}\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["../../src/publish/updateInfoBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import BluebirdPromise from \"bluebird-lst\"\nimport { Arch, log, safeStringifyJson, serializeToYaml } from \"builder-util\"\nimport { GenericServerOptions, PublishConfiguration, UpdateInfo, WindowsUpdateInfo } from \"builder-util-runtime\"\nimport { outputFile, outputJson, readFile } from \"fs-extra\"\nimport { Lazy } from \"lazy-val\"\nimport * as path from \"path\"\nimport * as semver from \"semver\"\nimport { ReleaseInfo } from \"..\"\nimport { Platform } from \"../core\"\nimport { Packager } from \"../packager\"\nimport { ArtifactCreated } from \"../packagerApi\"\nimport { PlatformPackager } from \"../platformPackager\"\nimport { hashFile } from \"../util/hash\"\nimport { computeDownloadUrl, getPublishConfigsForUpdateInfo } from \"./PublishManager\"\n\nasync function getReleaseInfo(packager: PlatformPackager<any>) {\n const releaseInfo: ReleaseInfo = {...(packager.platformSpecificBuildOptions.releaseInfo || packager.config.releaseInfo)}\n if (releaseInfo.releaseNotes == null) {\n const releaseNotesFile = await packager.getResource(releaseInfo.releaseNotesFile, `release-notes-${packager.platform.buildConfigurationKey}.md`, `release-notes-${packager.platform.name}.md`, `release-notes-${packager.platform.nodeName}.md`, \"release-notes.md\")\n const releaseNotes = releaseNotesFile == null ? null : await readFile(releaseNotesFile, \"utf-8\")\n // to avoid undefined in the file, check for null\n if (releaseNotes != null) {\n releaseInfo.releaseNotes = releaseNotes\n }\n }\n delete releaseInfo.releaseNotesFile\n return releaseInfo\n}\n\nfunction isGenerateUpdatesFilesForAllChannels(packager: PlatformPackager<any>) {\n const value = packager.platformSpecificBuildOptions.generateUpdatesFilesForAllChannels\n return value == null ? packager.config.generateUpdatesFilesForAllChannels : value\n}\n\n/**\n if this is an \"alpha\" version, we need to generate only the \"alpha\" .yml file\n if this is a \"beta\" version, we need to generate both the \"alpha\" and \"beta\" .yml file\n if this is a \"stable\" version, we need to generate all the \"alpha\", \"beta\" and \"stable\" .yml file\n */\nfunction computeChannelNames(packager: PlatformPackager<any>, publishConfig: PublishConfiguration): Array<string> {\n const currentChannel: string = (publishConfig as GenericServerOptions).channel || \"latest\"\n // for GitHub should be pre-release way be used\n if (currentChannel === \"alpha\" || publishConfig.provider === \"github\" || !isGenerateUpdatesFilesForAllChannels(packager)) {\n return [currentChannel]\n }\n\n switch (currentChannel) {\n case \"beta\":\n return [currentChannel, \"alpha\"]\n\n case \"latest\":\n return [currentChannel, \"alpha\", \"beta\"]\n\n default:\n return [currentChannel]\n }\n}\n\nfunction getUpdateInfoFileName(channel: string, packager: PlatformPackager<any>, arch: Arch | null): string {\n const osSuffix = packager.platform === Platform.WINDOWS ? \"\" : `-${packager.platform.buildConfigurationKey}`\n return `${channel}${osSuffix}${getArchPrefixForUpdateFile(arch, packager)}.yml`\n}\n\nfunction getArchPrefixForUpdateFile(arch: Arch | null, packager: PlatformPackager<any>) {\n if (arch == null || arch === Arch.x64 || packager.platform !== Platform.LINUX) {\n return \"\"\n }\n return arch === Arch.armv7l ? \"-arm\" : `-${Arch[arch]}`\n}\n\nexport interface UpdateInfoFileTask {\n readonly file: string\n readonly info: UpdateInfo\n readonly publishConfiguration: PublishConfiguration\n\n readonly packager: PlatformPackager<any>\n}\n\nfunction computeIsisElectronUpdater1xCompatibility(updaterCompatibility: string | null, publishConfiguration: PublishConfiguration, packager: Packager) {\n if (updaterCompatibility != null) {\n return semver.satisfies(\"1.0.0\", updaterCompatibility)\n }\n\n // spaces is a new publish provider, no need to keep backward compatibility\n if (publishConfiguration.provider === \"spaces\") {\n return false\n }\n\n const updaterVersion = packager.metadata.dependencies == null ? null : packager.metadata.dependencies[\"electron-updater\"]\n return updaterVersion == null || semver.lt(updaterVersion, \"4.0.0\")\n}\n\n/** @internal */\nexport async function createUpdateInfoTasks(event: ArtifactCreated, _publishConfigs: Array<PublishConfiguration>): Promise<Array<UpdateInfoFileTask>> {\n const packager = event.packager\n const publishConfigs = await getPublishConfigsForUpdateInfo(packager, _publishConfigs, event.arch)\n if (publishConfigs == null || publishConfigs.length === 0) {\n return []\n }\n\n const outDir = event.target!.outDir\n const version = packager.appInfo.version\n const sha2 = new Lazy<string>(() => hashFile(event.file!, \"sha256\", \"hex\"))\n const isMac = packager.platform === Platform.MAC\n const createdFiles = new Set<string>()\n const sharedInfo = await createUpdateInfo(version, event, await getReleaseInfo(packager))\n const tasks: Array<UpdateInfoFileTask> = []\n const electronUpdaterCompatibility = packager.platformSpecificBuildOptions.electronUpdaterCompatibility || packager.config.electronUpdaterCompatibility || \">=2.15\"\n for (const publishConfiguration of publishConfigs) {\n const isBintray = publishConfiguration.provider === \"bintray\"\n let dir = outDir\n // Bintray uses different variant of channel file info, better to generate it to a separate dir by always\n if (isBintray || (publishConfigs.length > 1 && publishConfiguration !== publishConfigs[0])) {\n dir = path.join(outDir, publishConfiguration.provider)\n }\n\n let isElectronUpdater1xCompatibility = computeIsisElectronUpdater1xCompatibility(electronUpdaterCompatibility, publishConfiguration, packager.info)\n\n let info = sharedInfo\n // noinspection JSDeprecatedSymbols\n if (isElectronUpdater1xCompatibility && packager.platform === Platform.WINDOWS) {\n info = {\n ...info,\n };\n // noinspection JSDeprecatedSymbols\n (info as WindowsUpdateInfo).sha2 = await sha2.value\n }\n\n if (event.safeArtifactName != null && publishConfiguration.provider === \"github\") {\n const newFiles = info.files.slice()\n newFiles[0].url = event.safeArtifactName\n info = {\n ...info,\n files: newFiles,\n path: event.safeArtifactName,\n }\n }\n\n for (const channel of computeChannelNames(packager, publishConfiguration)) {\n if (isMac && isElectronUpdater1xCompatibility && event.file.endsWith(\".zip\")) {\n // write only for first channel (generateUpdatesFilesForAllChannels is a new functionality, no need to generate old mac update info file)\n isElectronUpdater1xCompatibility = false\n await writeOldMacInfo(publishConfiguration, outDir, dir, channel, createdFiles, version, packager)\n }\n\n const updateInfoFile = path.join(dir, (isBintray ? `${version}_` : \"\") + getUpdateInfoFileName(channel, packager, event.arch))\n if (createdFiles.has(updateInfoFile)) {\n continue\n }\n\n createdFiles.add(updateInfoFile)\n\n // artifact should be uploaded only to designated publish provider\n tasks.push({\n file: updateInfoFile,\n info,\n publishConfiguration,\n packager,\n })\n }\n }\n return tasks\n}\n\nasync function createUpdateInfo(version: string, event: ArtifactCreated, releaseInfo: ReleaseInfo): Promise<UpdateInfo> {\n const customUpdateInfo = event.updateInfo\n const url = path.basename(event.file!)\n const sha512 = (customUpdateInfo == null ? null : customUpdateInfo.sha512) || await hashFile(event.file!)\n const files = [{url, sha512}]\n const result: UpdateInfo = {\n // @ts-ignore\n version,\n // @ts-ignore\n files,\n // @ts-ignore\n path: url /* backward compatibility, electron-updater 1.x - electron-updater 2.15.0 */,\n // @ts-ignore\n sha512 /* backward compatibility, electron-updater 1.x - electron-updater 2.15.0 */,\n ...releaseInfo as UpdateInfo,\n }\n\n if (customUpdateInfo != null) {\n // file info or nsis web installer packages info\n Object.assign(\"sha512\" in customUpdateInfo ? files[0] : result, customUpdateInfo)\n }\n return result\n}\n\nexport async function writeUpdateInfoFiles(updateInfoFileTasks: Array<UpdateInfoFileTask>, packager: Packager) {\n // zip must be first and zip info must be used for old path/sha512 properties in the update info\n updateInfoFileTasks.sort((a, b) => (a.info.files[0].url.endsWith(\".zip\") ? 0 : 100) - (b.info.files[0].url.endsWith(\".zip\") ? 0 : 100))\n\n const updateChannelFileToInfo = new Map<string, UpdateInfoFileTask>()\n for (const task of updateInfoFileTasks) {\n // https://github.com/electron-userland/electron-builder/pull/2994\n const key = `${task.file}@${safeStringifyJson(task.publishConfiguration, new Set([\"releaseType\"]))}`\n const existingTask = updateChannelFileToInfo.get(key)\n if (existingTask == null) {\n updateChannelFileToInfo.set(key, task)\n continue\n }\n\n existingTask.info.files.push(...task.info.files)\n }\n\n const releaseDate = new Date().toISOString()\n await BluebirdPromise.map(updateChannelFileToInfo.values(), async task => {\n const publishConfig = task.publishConfiguration\n if (publishConfig.publishAutoUpdate === false) {\n log.debug({\n provider: publishConfig.provider,\n reason: \"publishAutoUpdate is set to false\"\n }, \"auto update metadata file not published\")\n return\n }\n\n if (task.info.releaseDate == null) {\n task.info.releaseDate = releaseDate\n }\n\n const fileContent = Buffer.from(serializeToYaml(task.info, false, true))\n await outputFile(task.file, fileContent)\n packager.dispatchArtifactCreated({\n file: task.file,\n fileContent,\n arch: null,\n packager: task.packager,\n target: null,\n publishConfig,\n })\n }, {concurrency: 4})\n}\n\n// backward compatibility - write json file\nasync function writeOldMacInfo(publishConfig: PublishConfiguration, outDir: string, dir: string, channel: string, createdFiles: Set<string>, version: string, packager: PlatformPackager<any>) {\n const isGitHub = publishConfig.provider === \"github\"\n const updateInfoFile = (isGitHub && outDir === dir) ? path.join(dir, \"github\", `${channel}-mac.json`) : path.join(dir, `${channel}-mac.json`)\n if (!createdFiles.has(updateInfoFile)) {\n createdFiles.add(updateInfoFile)\n await outputJson(updateInfoFile, {\n version,\n releaseDate: new Date().toISOString(),\n url: computeDownloadUrl(publishConfig, packager.generateName2(\"zip\", \"mac\", isGitHub), packager),\n }, {spaces: 2})\n\n packager.info.dispatchArtifactCreated({\n file: updateInfoFile,\n arch: null,\n packager,\n target: null,\n publishConfig,\n })\n }\n}\n"],"sourceRoot":""}
|
|
@@ -154,10 +154,11 @@ class AppXTarget extends _core().Target {
|
|
|
154
154
|
await packager.info.callAppxManifestCreated(manifestFile);
|
|
155
155
|
mappingList.push(assetInfo.mappings);
|
|
156
156
|
mappingList.push([`"${vm.toVmFile(manifestFile)}" "AppxManifest.xml"`]);
|
|
157
|
+
const signToolArch = arch === _builderUtil().Arch.arm64 ? "x64" : _builderUtil().Arch[arch];
|
|
157
158
|
|
|
158
159
|
if (isScaledAssetsProvided(userAssets)) {
|
|
159
160
|
const outFile = vm.toVmFile(stageDir.getTempFile("resources.pri"));
|
|
160
|
-
const makePriPath = vm.toVmFile(path.join(vendorPath, "windows-10",
|
|
161
|
+
const makePriPath = vm.toVmFile(path.join(vendorPath, "windows-10", signToolArch, "makepri.exe"));
|
|
161
162
|
const assetRoot = stageDir.getTempFile("appx/assets");
|
|
162
163
|
await (0, _fsExtra().emptyDir)(assetRoot);
|
|
163
164
|
await _bluebirdLst().default.map(assetInfo.allAssets, it => (0, _fs().copyOrLinkFile)(it, path.join(assetRoot, path.basename(it))));
|
|
@@ -183,7 +184,7 @@ class AppXTarget extends _core().Target {
|
|
|
183
184
|
makeAppXArgs.push(...this.options.makeappxArgs);
|
|
184
185
|
}
|
|
185
186
|
|
|
186
|
-
await vm.exec(vm.toVmFile(path.join(vendorPath, "windows-10",
|
|
187
|
+
await vm.exec(vm.toVmFile(path.join(vendorPath, "windows-10", signToolArch, "makeappx.exe")), makeAppXArgs);
|
|
187
188
|
await packager.sign(artifactPath);
|
|
188
189
|
await stageDir.cleanup();
|
|
189
190
|
await packager.info.callArtifactBuildCompleted({
|