dmg-builder 22.10.1 → 22.10.5
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/dmg.js +11 -4
- package/out/dmg.js.map +1 -1
- package/out/dmgLicense.d.ts +0 -1
- package/out/dmgLicense.js +2 -223
- package/out/dmgLicense.js.map +1 -1
- package/out/licenseButtons.js +1 -1
- package/out/licenseButtons.js.map +1 -1
- package/package.json +10 -8
- package/vendor/mac_alias/alias.pyc +0 -0
- package/vendor/mac_alias/bookmark.pyc +0 -0
- package/vendor/mac_alias/osx.pyc +0 -0
package/out/dmg.js
CHANGED
|
@@ -124,7 +124,7 @@ class DmgTarget extends _appBuilderLib().Target {
|
|
|
124
124
|
async build(appPath, arch) {
|
|
125
125
|
const packager = this.packager; // tslint:disable-next-line:no-invalid-template-strings
|
|
126
126
|
|
|
127
|
-
const artifactName = packager.expandArtifactNamePattern(this.options, "dmg", arch, "${productName}-" + (packager.platformSpecificBuildOptions.bundleShortVersion || "${version}") + "-${arch}.${ext}", true);
|
|
127
|
+
const artifactName = packager.expandArtifactNamePattern(this.options, "dmg", arch, "${productName}-" + (packager.platformSpecificBuildOptions.bundleShortVersion || "${version}") + "-${arch}.${ext}", true, packager.platformSpecificBuildOptions.defaultArch);
|
|
128
128
|
const artifactPath = path.join(this.outDir, artifactName);
|
|
129
129
|
await packager.info.callArtifactBuildStarted({
|
|
130
130
|
targetPresentableName: "DMG",
|
|
@@ -229,7 +229,7 @@ class DmgTarget extends _appBuilderLib().Target {
|
|
|
229
229
|
computeVolumeName(arch, custom) {
|
|
230
230
|
const appInfo = this.packager.appInfo;
|
|
231
231
|
const shortVersion = this.packager.platformSpecificBuildOptions.bundleShortVersion || appInfo.version;
|
|
232
|
-
const archString = (0, _builderUtil().getArchSuffix)(arch);
|
|
232
|
+
const archString = (0, _builderUtil().getArchSuffix)(arch, this.packager.platformSpecificBuildOptions.defaultArch);
|
|
233
233
|
|
|
234
234
|
if (custom == null) {
|
|
235
235
|
return `${appInfo.productFilename} ${shortVersion}${archString}`;
|
|
@@ -296,9 +296,16 @@ exports.DmgTarget = DmgTarget;
|
|
|
296
296
|
async function createStageDmg(tempDmg, appPath, volumeName) {
|
|
297
297
|
//noinspection SpellCheckingInspection
|
|
298
298
|
const imageArgs = addLogLevel(["create", "-srcfolder", appPath, "-volname", volumeName, "-anyowners", "-nospotlight", "-format", "UDRW"]);
|
|
299
|
+
|
|
300
|
+
if (_builderUtil().log.isDebugEnabled) {
|
|
301
|
+
imageArgs.push("-debug");
|
|
302
|
+
}
|
|
303
|
+
|
|
299
304
|
imageArgs.push("-fs", "HFS+", "-fsargs", "-c c=64,a=16,e=16");
|
|
300
|
-
imageArgs.push(tempDmg);
|
|
301
|
-
|
|
305
|
+
imageArgs.push(tempDmg); // The reason for retrying up to ten times is that hdiutil create in some cases fail to unmount due to "resource busy".
|
|
306
|
+
// https://github.com/electron-userland/electron-builder/issues/5431
|
|
307
|
+
|
|
308
|
+
await (0, _builderUtil().retry)(() => (0, _builderUtil().spawn)("hdiutil", imageArgs), 5, 1000);
|
|
302
309
|
return tempDmg;
|
|
303
310
|
}
|
|
304
311
|
|
package/out/dmg.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/dmg.ts"],"names":[],"mappings":"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","sourcesContent":["import { DmgOptions, Target } from \"app-builder-lib\"\nimport { findIdentity, isSignAllowed } from \"app-builder-lib/out/codeSign/macCodeSign\"\nimport MacPackager from \"app-builder-lib/out/macPackager\"\nimport { createBlockmap } from \"app-builder-lib/out/targets/differentialUpdateInfoBuilder\"\nimport { executeAppBuilderAsJson } from \"app-builder-lib/out/util/appBuilder\"\nimport { Arch, AsyncTaskManager, exec, getArchSuffix, InvalidConfigurationError, isEmptyOrSpaces, log, spawn } from \"builder-util\"\nimport { CancellationToken } from \"builder-util-runtime\"\nimport { copyDir, copyFile, exists, statOrNull } from \"builder-util/out/fs\"\nimport { stat } from \"fs-extra\"\nimport * as path from \"path\"\nimport sanitizeFileName from \"sanitize-filename\"\nimport { TmpDir } from \"temp-file\"\nimport { addLicenseToDmg } from \"./dmgLicense\"\nimport { attachAndExecute, computeBackground, detach, getDmgVendorPath } from \"./dmgUtil\"\n\nexport class DmgTarget extends Target {\n readonly options: DmgOptions = this.packager.config.dmg || Object.create(null)\n\n constructor(private readonly packager: MacPackager, readonly outDir: string) {\n super(\"dmg\")\n }\n\n async build(appPath: string, arch: Arch) {\n const packager = this.packager\n // tslint:disable-next-line:no-invalid-template-strings\n const artifactName = packager.expandArtifactNamePattern(this.options, \"dmg\", arch, \"${productName}-\" + (packager.platformSpecificBuildOptions.bundleShortVersion || \"${version}\") + \"-${arch}.${ext}\", true)\n const artifactPath = path.join(this.outDir, artifactName)\n await packager.info.callArtifactBuildStarted({\n targetPresentableName: \"DMG\",\n file: artifactPath,\n arch,\n })\n\n const volumeName = sanitizeFileName(this.computeVolumeName(arch, this.options.title))\n\n const tempDmg = await createStageDmg(await packager.getTempFile(\".dmg\"), appPath, volumeName)\n\n const specification = await this.computeDmgOptions()\n // https://github.com/electron-userland/electron-builder/issues/2115\n const backgroundFile = specification.background == null ? null : await transformBackgroundFileIfNeed(specification.background, packager.info.tempDirManager)\n const finalSize = await computeAssetSize(packager.info.cancellationToken, tempDmg, specification, backgroundFile)\n const expandingFinalSize = (finalSize * 0.1) + finalSize\n await exec(\"hdiutil\", [\"resize\", \"-size\", expandingFinalSize.toString(), tempDmg])\n\n const volumePath = path.join(\"/Volumes\", volumeName)\n if (await exists(volumePath)) {\n log.debug({volumePath}, \"unmounting previous disk image\")\n await detach(volumePath)\n }\n\n if (!await attachAndExecute(tempDmg, true, () => customizeDmg(volumePath, specification, packager, backgroundFile))) {\n return\n }\n\n // dmg file must not exist otherwise hdiutil failed (https://github.com/electron-userland/electron-builder/issues/1308#issuecomment-282847594), so, -ov must be specified\n const args = [\"convert\", tempDmg, \"-ov\", \"-format\", specification.format!!, \"-o\", artifactPath]\n if (specification.format === \"UDZO\") {\n args.push(\"-imagekey\", `zlib-level=${process.env.ELECTRON_BUILDER_COMPRESSION_LEVEL || \"9\"}`)\n }\n await spawn(\"hdiutil\", addLogLevel(args))\n if (this.options.internetEnabled && parseInt(require(\"os\").release().split(\".\")[0], 10) < 19) {\n await exec(\"hdiutil\", addLogLevel([\"internet-enable\"]).concat(artifactPath))\n }\n\n const licenseData = await addLicenseToDmg(packager, artifactPath)\n if (packager.packagerOptions.effectiveOptionComputed != null) {\n await packager.packagerOptions.effectiveOptionComputed({licenseData})\n }\n\n if (this.options.sign === true) {\n await this.signDmg(artifactPath)\n }\n\n const safeArtifactName = packager.computeSafeArtifactName(artifactName, \"dmg\")\n const updateInfo = this.options.writeUpdateInfo === false ? null : await createBlockmap(artifactPath, this, packager, safeArtifactName)\n await packager.info.callArtifactBuildCompleted({\n file: artifactPath,\n safeArtifactName,\n target: this,\n arch,\n packager,\n isWriteUpdateInfo: updateInfo != null,\n updateInfo,\n })\n }\n\n private async signDmg(artifactPath: string) {\n if (!isSignAllowed(false)) {\n return\n }\n\n const packager = this.packager\n const qualifier = packager.platformSpecificBuildOptions.identity\n // explicitly disabled if set to null\n if (qualifier === null) {\n // macPackager already somehow handle this situation, so, here just return\n return\n }\n\n const keychainFile = (await packager.codeSigningInfo.value).keychainFile\n const certificateType = \"Developer ID Application\"\n let identity = await findIdentity(certificateType, qualifier, keychainFile)\n if (identity == null) {\n identity = await findIdentity(\"Mac Developer\", qualifier, keychainFile)\n if (identity == null) {\n return\n }\n }\n\n const args = [\"--sign\", identity.hash]\n if (keychainFile != null) {\n args.push(\"--keychain\", keychainFile)\n }\n args.push(artifactPath)\n await exec(\"codesign\", args)\n }\n\n computeVolumeName(arch: Arch, custom?: string | null): string {\n const appInfo = this.packager.appInfo\n const shortVersion = this.packager.platformSpecificBuildOptions.bundleShortVersion || appInfo.version\n const archString = getArchSuffix(arch)\n\n if (custom == null) {\n return `${appInfo.productFilename} ${shortVersion}${archString}`\n }\n\n return custom\n .replace(/\\${arch}/g, archString)\n .replace(/\\${shortVersion}/g, shortVersion)\n .replace(/\\${version}/g, appInfo.version)\n .replace(/\\${name}/g, appInfo.name)\n .replace(/\\${productName}/g, appInfo.productName)\n }\n\n // public to test\n async computeDmgOptions(): Promise<DmgOptions> {\n const packager = this.packager\n const specification: DmgOptions = {...this.options}\n if (specification.icon == null && specification.icon !== null) {\n specification.icon = await packager.getIconPath()\n }\n\n if (specification.icon != null && isEmptyOrSpaces(specification.icon)) {\n throw new InvalidConfigurationError(\"dmg.icon cannot be specified as empty string\")\n }\n\n const background = specification.background\n if (specification.backgroundColor != null) {\n if (background != null) {\n throw new InvalidConfigurationError(\"Both dmg.backgroundColor and dmg.background are specified — please set the only one\")\n }\n }\n else if (background == null) {\n specification.background = await computeBackground(packager)\n }\n else {\n specification.background = path.resolve(packager.info.projectDir, background)\n }\n\n if (specification.format == null) {\n if (process.env.ELECTRON_BUILDER_COMPRESSION_LEVEL != null) {\n (specification as any).format = \"UDZO\"\n }\n else if (packager.compression === \"store\") {\n specification.format = \"UDRO\"\n }\n else {\n specification.format = packager.compression === \"maximum\" ? \"UDBZ\" : \"UDZO\"\n }\n }\n\n if (specification.contents == null) {\n specification.contents = [\n {\n x: 130, y: 220\n },\n {\n x: 410, y: 220, type: \"link\", path: \"/Applications\"\n }\n ]\n }\n return specification\n }\n}\n\nasync function createStageDmg(tempDmg: string, appPath: string, volumeName: string) {\n //noinspection SpellCheckingInspection\n const imageArgs = addLogLevel([\"create\",\n \"-srcfolder\", appPath,\n \"-volname\", volumeName,\n \"-anyowners\", \"-nospotlight\",\n \"-format\", \"UDRW\",\n ])\n imageArgs.push(\"-fs\", \"HFS+\", \"-fsargs\", \"-c c=64,a=16,e=16\")\n imageArgs.push(tempDmg)\n await spawn(\"hdiutil\", imageArgs)\n return tempDmg\n}\n\nfunction addLogLevel(args: Array<string>): Array<string> {\n args.push(process.env.DEBUG_DMG === \"true\" ? \"-verbose\" : \"-quiet\")\n return args\n}\n\nasync function computeAssetSize(cancellationToken: CancellationToken, dmgFile: string, specification: DmgOptions, backgroundFile: string | null | undefined) {\n const asyncTaskManager = new AsyncTaskManager(cancellationToken)\n asyncTaskManager.addTask(stat(dmgFile))\n\n if (specification.icon != null) {\n asyncTaskManager.addTask(statOrNull(specification.icon))\n }\n\n if (backgroundFile != null) {\n asyncTaskManager.addTask(stat(backgroundFile))\n }\n\n let result = 32 * 1024\n for (const stat of await asyncTaskManager.awaitTasks()) {\n if (stat != null) {\n result += stat.size\n }\n }\n return result\n}\n\nasync function customizeDmg(volumePath: string, specification: DmgOptions, packager: MacPackager, backgroundFile: string | null | undefined) {\n const window = specification.window\n const env: any = {\n ...process.env,\n volumePath,\n appFileName: `${packager.appInfo.productFilename}.app`,\n iconSize: specification.iconSize || 80,\n iconTextSize: specification.iconTextSize || 12,\n\n PYTHONIOENCODING: \"utf8\",\n }\n\n if (specification.backgroundColor != null || specification.background == null) {\n env.backgroundColor = specification.backgroundColor || \"#ffffff\"\n\n if (window != null) {\n env.windowX = (window.x == null ? 100 : window.x).toString()\n env.windowY = (window.y == null ? 400 : window.y).toString()\n env.windowWidth = (window.width || 540).toString()\n env.windowHeight = (window.height || 380).toString()\n }\n }\n else {\n delete env.backgroundColor\n }\n\n const args = [\"dmg\", \"--volume\", volumePath]\n if (specification.icon != null) {\n args.push(\"--icon\", (await packager.getResource(specification.icon))!!)\n }\n if (backgroundFile != null) {\n args.push(\"--background\", backgroundFile)\n }\n\n const data: any = await executeAppBuilderAsJson(args)\n if (data.backgroundWidth != null) {\n env.windowWidth = window == null ? null : window.width\n env.windowHeight = window == null ? null : window.height\n\n if (env.windowWidth == null) {\n env.windowWidth = data.backgroundWidth.toString()\n }\n if (env.windowHeight == null) {\n env.windowHeight = data.backgroundHeight.toString()\n }\n\n if (env.windowX == null) {\n env.windowX = 400\n }\n if (env.windowY == null) {\n env.windowY = Math.round((1440 - env.windowHeight) / 2).toString()\n }\n }\n\n Object.assign(env, data)\n\n const asyncTaskManager = new AsyncTaskManager(packager.info.cancellationToken)\n env.iconLocations = await computeDmgEntries(specification, volumePath, packager, asyncTaskManager)\n await asyncTaskManager.awaitTasks()\n\n await exec(\"/usr/bin/python\", [path.join(getDmgVendorPath(), \"dmgbuild/core.py\")], {\n cwd: getDmgVendorPath(),\n env\n })\n return packager.packagerOptions.effectiveOptionComputed == null || !(await packager.packagerOptions.effectiveOptionComputed({volumePath, specification, packager}))\n}\n\nasync function computeDmgEntries(specification: DmgOptions, volumePath: string, packager: MacPackager, asyncTaskManager: AsyncTaskManager): Promise<string> {\n let result = \"\"\n for (const c of specification.contents!!) {\n if (c.path != null && c.path.endsWith(\".app\") && c.type !== \"link\") {\n log.warn({path: c.path, reason: \"actual path to app will be used instead\"}, \"do not specify path for application\")\n }\n\n const entryPath = c.path || `${packager.appInfo.productFilename}.app`\n const entryName = c.name || path.basename(entryPath)\n if (result.length !== 0) {\n result += \",\\n\"\n }\n result += `'${entryName}': (${c.x}, ${c.y})`\n\n if (c.type === \"link\") {\n asyncTaskManager.addTask(exec(\"ln\", [\"-s\", `/${entryPath.startsWith(\"/\") ? entryPath.substring(1) : entryPath}`, `${volumePath}/${entryName}`]))\n }\n // use c.path instead of entryPath (to be sure that this logic is not applied to .app bundle) https://github.com/electron-userland/electron-builder/issues/2147\n else if (!isEmptyOrSpaces(c.path) && (c.type === \"file\" || c.type === \"dir\")) {\n const source = await packager.getResource(c.path)\n if (source == null) {\n log.warn({entryPath, reason: \"doesn't exist\"}, \"skipped DMG item copying\")\n continue\n }\n\n const destination = `${volumePath}/${entryName}`\n asyncTaskManager.addTask(c.type === \"dir\" || (await stat(source)).isDirectory() ? copyDir(source, destination) : copyFile(source, destination))\n }\n }\n return result\n}\n\nasync function transformBackgroundFileIfNeed(file: string, tmpDir: TmpDir): Promise<string> {\n if (file.endsWith(\".tiff\") || file.endsWith(\".TIFF\")) {\n return file\n }\n\n const retinaFile = file.replace(/\\.([a-z]+)$/, \"@2x.$1\")\n if (await exists(retinaFile)) {\n const tiffFile = await tmpDir.getTempFile({suffix: \".tiff\"})\n await exec(\"tiffutil\", [\"-cathidpicheck\", file, retinaFile, \"-out\", tiffFile])\n return tiffFile\n }\n\n return file\n}\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["../src/dmg.ts"],"names":[],"mappings":"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","sourcesContent":["import { DmgOptions, Target } from \"app-builder-lib\"\nimport { findIdentity, isSignAllowed } from \"app-builder-lib/out/codeSign/macCodeSign\"\nimport MacPackager from \"app-builder-lib/out/macPackager\"\nimport { createBlockmap } from \"app-builder-lib/out/targets/differentialUpdateInfoBuilder\"\nimport { executeAppBuilderAsJson } from \"app-builder-lib/out/util/appBuilder\"\nimport { Arch, AsyncTaskManager, exec, getArchSuffix, InvalidConfigurationError, isEmptyOrSpaces, log, spawn, retry } from \"builder-util\"\nimport { CancellationToken } from \"builder-util-runtime\"\nimport { copyDir, copyFile, exists, statOrNull } from \"builder-util/out/fs\"\nimport { stat } from \"fs-extra\"\nimport * as path from \"path\"\nimport sanitizeFileName from \"sanitize-filename\"\nimport { TmpDir } from \"temp-file\"\nimport { addLicenseToDmg } from \"./dmgLicense\"\nimport { attachAndExecute, computeBackground, detach, getDmgVendorPath } from \"./dmgUtil\"\n\nexport class DmgTarget extends Target {\n readonly options: DmgOptions = this.packager.config.dmg || Object.create(null)\n\n constructor(private readonly packager: MacPackager, readonly outDir: string) {\n super(\"dmg\")\n }\n\n async build(appPath: string, arch: Arch) {\n const packager = this.packager\n // tslint:disable-next-line:no-invalid-template-strings\n const artifactName = packager.expandArtifactNamePattern(this.options, \"dmg\", arch, \"${productName}-\" + (packager.platformSpecificBuildOptions.bundleShortVersion || \"${version}\") + \"-${arch}.${ext}\", true, packager.platformSpecificBuildOptions.defaultArch)\n const artifactPath = path.join(this.outDir, artifactName)\n await packager.info.callArtifactBuildStarted({\n targetPresentableName: \"DMG\",\n file: artifactPath,\n arch,\n })\n\n const volumeName = sanitizeFileName(this.computeVolumeName(arch, this.options.title))\n\n const tempDmg = await createStageDmg(await packager.getTempFile(\".dmg\"), appPath, volumeName)\n\n const specification = await this.computeDmgOptions()\n // https://github.com/electron-userland/electron-builder/issues/2115\n const backgroundFile = specification.background == null ? null : await transformBackgroundFileIfNeed(specification.background, packager.info.tempDirManager)\n const finalSize = await computeAssetSize(packager.info.cancellationToken, tempDmg, specification, backgroundFile)\n const expandingFinalSize = (finalSize * 0.1) + finalSize\n await exec(\"hdiutil\", [\"resize\", \"-size\", expandingFinalSize.toString(), tempDmg])\n\n const volumePath = path.join(\"/Volumes\", volumeName)\n if (await exists(volumePath)) {\n log.debug({volumePath}, \"unmounting previous disk image\")\n await detach(volumePath)\n }\n\n if (!await attachAndExecute(tempDmg, true, () => customizeDmg(volumePath, specification, packager, backgroundFile))) {\n return\n }\n\n // dmg file must not exist otherwise hdiutil failed (https://github.com/electron-userland/electron-builder/issues/1308#issuecomment-282847594), so, -ov must be specified\n const args = [\"convert\", tempDmg, \"-ov\", \"-format\", specification.format!!, \"-o\", artifactPath]\n if (specification.format === \"UDZO\") {\n args.push(\"-imagekey\", `zlib-level=${process.env.ELECTRON_BUILDER_COMPRESSION_LEVEL || \"9\"}`)\n }\n await spawn(\"hdiutil\", addLogLevel(args))\n if (this.options.internetEnabled && parseInt(require(\"os\").release().split(\".\")[0], 10) < 19) {\n await exec(\"hdiutil\", addLogLevel([\"internet-enable\"]).concat(artifactPath))\n }\n\n const licenseData = await addLicenseToDmg(packager, artifactPath)\n if (packager.packagerOptions.effectiveOptionComputed != null) {\n await packager.packagerOptions.effectiveOptionComputed({licenseData})\n }\n\n if (this.options.sign === true) {\n await this.signDmg(artifactPath)\n }\n\n const safeArtifactName = packager.computeSafeArtifactName(artifactName, \"dmg\")\n const updateInfo = this.options.writeUpdateInfo === false ? null : await createBlockmap(artifactPath, this, packager, safeArtifactName)\n await packager.info.callArtifactBuildCompleted({\n file: artifactPath,\n safeArtifactName,\n target: this,\n arch,\n packager,\n isWriteUpdateInfo: updateInfo != null,\n updateInfo,\n })\n }\n\n private async signDmg(artifactPath: string) {\n if (!isSignAllowed(false)) {\n return\n }\n\n const packager = this.packager\n const qualifier = packager.platformSpecificBuildOptions.identity\n // explicitly disabled if set to null\n if (qualifier === null) {\n // macPackager already somehow handle this situation, so, here just return\n return\n }\n\n const keychainFile = (await packager.codeSigningInfo.value).keychainFile\n const certificateType = \"Developer ID Application\"\n let identity = await findIdentity(certificateType, qualifier, keychainFile)\n if (identity == null) {\n identity = await findIdentity(\"Mac Developer\", qualifier, keychainFile)\n if (identity == null) {\n return\n }\n }\n\n const args = [\"--sign\", identity.hash]\n if (keychainFile != null) {\n args.push(\"--keychain\", keychainFile)\n }\n args.push(artifactPath)\n await exec(\"codesign\", args)\n }\n\n computeVolumeName(arch: Arch, custom?: string | null): string {\n const appInfo = this.packager.appInfo\n const shortVersion = this.packager.platformSpecificBuildOptions.bundleShortVersion || appInfo.version\n const archString = getArchSuffix(arch, this.packager.platformSpecificBuildOptions.defaultArch)\n\n if (custom == null) {\n return `${appInfo.productFilename} ${shortVersion}${archString}`\n }\n\n return custom\n .replace(/\\${arch}/g, archString)\n .replace(/\\${shortVersion}/g, shortVersion)\n .replace(/\\${version}/g, appInfo.version)\n .replace(/\\${name}/g, appInfo.name)\n .replace(/\\${productName}/g, appInfo.productName)\n }\n\n // public to test\n async computeDmgOptions(): Promise<DmgOptions> {\n const packager = this.packager\n const specification: DmgOptions = {...this.options}\n if (specification.icon == null && specification.icon !== null) {\n specification.icon = await packager.getIconPath()\n }\n\n if (specification.icon != null && isEmptyOrSpaces(specification.icon)) {\n throw new InvalidConfigurationError(\"dmg.icon cannot be specified as empty string\")\n }\n\n const background = specification.background\n if (specification.backgroundColor != null) {\n if (background != null) {\n throw new InvalidConfigurationError(\"Both dmg.backgroundColor and dmg.background are specified — please set the only one\")\n }\n }\n else if (background == null) {\n specification.background = await computeBackground(packager)\n }\n else {\n specification.background = path.resolve(packager.info.projectDir, background)\n }\n\n if (specification.format == null) {\n if (process.env.ELECTRON_BUILDER_COMPRESSION_LEVEL != null) {\n (specification as any).format = \"UDZO\"\n }\n else if (packager.compression === \"store\") {\n specification.format = \"UDRO\"\n }\n else {\n specification.format = packager.compression === \"maximum\" ? \"UDBZ\" : \"UDZO\"\n }\n }\n\n if (specification.contents == null) {\n specification.contents = [\n {\n x: 130, y: 220\n },\n {\n x: 410, y: 220, type: \"link\", path: \"/Applications\"\n }\n ]\n }\n return specification\n }\n}\n\nasync function createStageDmg(tempDmg: string, appPath: string, volumeName: string) {\n //noinspection SpellCheckingInspection\n const imageArgs = addLogLevel([\"create\",\n \"-srcfolder\", appPath,\n \"-volname\", volumeName,\n \"-anyowners\", \"-nospotlight\",\n \"-format\", \"UDRW\",\n ])\n if (log.isDebugEnabled) {\n imageArgs.push(\"-debug\")\n }\n imageArgs.push(\"-fs\", \"HFS+\", \"-fsargs\", \"-c c=64,a=16,e=16\")\n imageArgs.push(tempDmg)\n // The reason for retrying up to ten times is that hdiutil create in some cases fail to unmount due to \"resource busy\".\n // https://github.com/electron-userland/electron-builder/issues/5431\n await retry(() => spawn(\"hdiutil\", imageArgs), 5, 1000)\n return tempDmg;\n}\n\nfunction addLogLevel(args: Array<string>): Array<string> {\n args.push(process.env.DEBUG_DMG === \"true\" ? \"-verbose\" : \"-quiet\")\n return args\n}\n\nasync function computeAssetSize(cancellationToken: CancellationToken, dmgFile: string, specification: DmgOptions, backgroundFile: string | null | undefined) {\n const asyncTaskManager = new AsyncTaskManager(cancellationToken)\n asyncTaskManager.addTask(stat(dmgFile))\n\n if (specification.icon != null) {\n asyncTaskManager.addTask(statOrNull(specification.icon))\n }\n\n if (backgroundFile != null) {\n asyncTaskManager.addTask(stat(backgroundFile))\n }\n\n let result = 32 * 1024\n for (const stat of await asyncTaskManager.awaitTasks()) {\n if (stat != null) {\n result += stat.size\n }\n }\n return result\n}\n\nasync function customizeDmg(volumePath: string, specification: DmgOptions, packager: MacPackager, backgroundFile: string | null | undefined) {\n const window = specification.window\n const env: any = {\n ...process.env,\n volumePath,\n appFileName: `${packager.appInfo.productFilename}.app`,\n iconSize: specification.iconSize || 80,\n iconTextSize: specification.iconTextSize || 12,\n\n PYTHONIOENCODING: \"utf8\",\n }\n\n if (specification.backgroundColor != null || specification.background == null) {\n env.backgroundColor = specification.backgroundColor || \"#ffffff\"\n\n if (window != null) {\n env.windowX = (window.x == null ? 100 : window.x).toString()\n env.windowY = (window.y == null ? 400 : window.y).toString()\n env.windowWidth = (window.width || 540).toString()\n env.windowHeight = (window.height || 380).toString()\n }\n }\n else {\n delete env.backgroundColor\n }\n\n const args = [\"dmg\", \"--volume\", volumePath]\n if (specification.icon != null) {\n args.push(\"--icon\", (await packager.getResource(specification.icon))!!)\n }\n if (backgroundFile != null) {\n args.push(\"--background\", backgroundFile)\n }\n\n const data: any = await executeAppBuilderAsJson(args)\n if (data.backgroundWidth != null) {\n env.windowWidth = window == null ? null : window.width\n env.windowHeight = window == null ? null : window.height\n\n if (env.windowWidth == null) {\n env.windowWidth = data.backgroundWidth.toString()\n }\n if (env.windowHeight == null) {\n env.windowHeight = data.backgroundHeight.toString()\n }\n\n if (env.windowX == null) {\n env.windowX = 400\n }\n if (env.windowY == null) {\n env.windowY = Math.round((1440 - env.windowHeight) / 2).toString()\n }\n }\n\n Object.assign(env, data)\n\n const asyncTaskManager = new AsyncTaskManager(packager.info.cancellationToken)\n env.iconLocations = await computeDmgEntries(specification, volumePath, packager, asyncTaskManager)\n await asyncTaskManager.awaitTasks()\n\n await exec(\"/usr/bin/python\", [path.join(getDmgVendorPath(), \"dmgbuild/core.py\")], {\n cwd: getDmgVendorPath(),\n env\n })\n return packager.packagerOptions.effectiveOptionComputed == null || !(await packager.packagerOptions.effectiveOptionComputed({volumePath, specification, packager}))\n}\n\nasync function computeDmgEntries(specification: DmgOptions, volumePath: string, packager: MacPackager, asyncTaskManager: AsyncTaskManager): Promise<string> {\n let result = \"\"\n for (const c of specification.contents!!) {\n if (c.path != null && c.path.endsWith(\".app\") && c.type !== \"link\") {\n log.warn({path: c.path, reason: \"actual path to app will be used instead\"}, \"do not specify path for application\")\n }\n\n const entryPath = c.path || `${packager.appInfo.productFilename}.app`\n const entryName = c.name || path.basename(entryPath)\n if (result.length !== 0) {\n result += \",\\n\"\n }\n result += `'${entryName}': (${c.x}, ${c.y})`\n\n if (c.type === \"link\") {\n asyncTaskManager.addTask(exec(\"ln\", [\"-s\", `/${entryPath.startsWith(\"/\") ? entryPath.substring(1) : entryPath}`, `${volumePath}/${entryName}`]))\n }\n // use c.path instead of entryPath (to be sure that this logic is not applied to .app bundle) https://github.com/electron-userland/electron-builder/issues/2147\n else if (!isEmptyOrSpaces(c.path) && (c.type === \"file\" || c.type === \"dir\")) {\n const source = await packager.getResource(c.path)\n if (source == null) {\n log.warn({entryPath, reason: \"doesn't exist\"}, \"skipped DMG item copying\")\n continue\n }\n\n const destination = `${volumePath}/${entryName}`\n asyncTaskManager.addTask(c.type === \"dir\" || (await stat(source)).isDirectory() ? copyDir(source, destination) : copyFile(source, destination))\n }\n }\n return result\n}\n\nasync function transformBackgroundFileIfNeed(file: string, tmpDir: TmpDir): Promise<string> {\n if (file.endsWith(\".tiff\") || file.endsWith(\".TIFF\")) {\n return file\n }\n\n const retinaFile = file.replace(/\\.([a-z]+)$/, \"@2x.$1\")\n if (await exists(retinaFile)) {\n const tiffFile = await tmpDir.getTempFile({suffix: \".tiff\"})\n await exec(\"tiffutil\", [\"-cathidpicheck\", file, retinaFile, \"-out\", tiffFile])\n return tiffFile\n }\n\n return file\n}\n"],"sourceRoot":""}
|
package/out/dmgLicense.d.ts
CHANGED
|
@@ -5,5 +5,4 @@ declare type LicenseConfig = {
|
|
|
5
5
|
labels: any[];
|
|
6
6
|
};
|
|
7
7
|
export declare function addLicenseToDmg(packager: PlatformPackager<any>, dmgPath: string): Promise<LicenseConfig | null>;
|
|
8
|
-
export declare function addLicenseToDmgOld(packager: PlatformPackager<any>, dmgPath: string): Promise<string | null>;
|
|
9
8
|
export {};
|
package/out/dmgLicense.js
CHANGED
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.addLicenseToDmg = addLicenseToDmg;
|
|
7
|
-
exports.addLicenseToDmgOld = addLicenseToDmgOld;
|
|
8
7
|
|
|
9
8
|
function _builderUtil() {
|
|
10
9
|
const data = require("builder-util");
|
|
@@ -46,16 +45,6 @@ function _fsExtra() {
|
|
|
46
45
|
return data;
|
|
47
46
|
}
|
|
48
47
|
|
|
49
|
-
function _dmgUtil() {
|
|
50
|
-
const data = require("./dmgUtil");
|
|
51
|
-
|
|
52
|
-
_dmgUtil = function () {
|
|
53
|
-
return data;
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
return data;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
48
|
function _licenseButtons() {
|
|
60
49
|
const data = require("./licenseButtons");
|
|
61
50
|
|
|
@@ -76,9 +65,6 @@ function _dmgLicense() {
|
|
|
76
65
|
return data;
|
|
77
66
|
}
|
|
78
67
|
|
|
79
|
-
// DropDMG/dmgbuild a in any case (even if no english, but only ru/de) set to 0 (en_US), well, without docs, just believe that's correct
|
|
80
|
-
const DEFAULT_REGION_CODE = 0;
|
|
81
|
-
|
|
82
68
|
async function addLicenseToDmg(packager, dmgPath) {
|
|
83
69
|
const licenseFiles = await (0, _license().getLicenseFiles)(packager);
|
|
84
70
|
|
|
@@ -105,7 +91,7 @@ async function addLicenseToDmg(packager, dmgPath) {
|
|
|
105
91
|
|
|
106
92
|
for (const button of licenseButtonFiles) {
|
|
107
93
|
const filepath = button.file;
|
|
108
|
-
const label = filepath.endsWith(".yml") ? (0, _jsYaml().
|
|
94
|
+
const label = filepath.endsWith(".yml") ? (0, _jsYaml().load)(await (0, _fsExtra().readFile)(filepath, "utf-8")) : await (0, _fsExtra().readJson)(filepath);
|
|
109
95
|
|
|
110
96
|
if (label.description) {
|
|
111
97
|
// to support original button file format
|
|
@@ -122,213 +108,6 @@ async function addLicenseToDmg(packager, dmgPath) {
|
|
|
122
108
|
onNonFatalError: _builderUtil().log.warn.bind(_builderUtil().log)
|
|
123
109
|
});
|
|
124
110
|
return jsonFile;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
async function addLicenseToDmgOld(packager, dmgPath) {
|
|
128
|
-
// http://www.owsiak.org/?p=700
|
|
129
|
-
const licenseFiles = await (0, _license().getLicenseFiles)(packager);
|
|
130
|
-
|
|
131
|
-
if (licenseFiles.length === 0) {
|
|
132
|
-
return null;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
const licenseButtonFiles = await (0, _licenseButtons().getLicenseButtonsFile)(packager);
|
|
136
|
-
packager.debugLogger.add("dmg.licenseFiles", licenseFiles);
|
|
137
|
-
packager.debugLogger.add("dmg.licenseButtons", licenseButtonFiles);
|
|
138
|
-
const style = [];
|
|
139
|
-
const rtfs = [];
|
|
140
|
-
const defaultButtons = [];
|
|
141
|
-
let counter = 5000;
|
|
142
|
-
const addedRegionCodes = [];
|
|
143
|
-
|
|
144
|
-
for (const item of licenseFiles) {
|
|
145
|
-
_builderUtil().log.info({
|
|
146
|
-
lang: item.langName
|
|
147
|
-
}, "adding license"); // value from DropDMG, data the same for any language
|
|
148
|
-
// noinspection SpellCheckingInspection
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
style.push(`data 'styl' (${counter}, "${item.langName}") {
|
|
152
|
-
$"0001 0000 0000 000E 0011 0015 0000 000C"
|
|
153
|
-
$"0000 0000 0000"
|
|
154
|
-
};`);
|
|
155
|
-
let data = `data 'RTF ' (${counter}, "${item.langName}") {\n`;
|
|
156
|
-
const fileData = await (0, _fsExtra().readFile)(item.file, "utf-8");
|
|
157
|
-
const isRtf = item.file.endsWith(".rtf") || item.file.endsWith(".RTF");
|
|
158
|
-
data += isRtf ? (0, _dmgUtil().serializeString)(Buffer.from(fileData).toString("hex")) : wrapInRtf(await (0, _fsExtra().readFile)(item.file, "utf-8"));
|
|
159
|
-
data += "\n};";
|
|
160
|
-
rtfs.push(data);
|
|
161
|
-
defaultButtons.push(await (0, _licenseButtons().getLicenseButtons)(licenseButtonFiles, item.langWithRegion, counter, item.langName));
|
|
162
|
-
addedRegionCodes.push(getRegionCode(item.langWithRegion));
|
|
163
|
-
counter++;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
const buffer = Buffer.allocUnsafe((2 + 3 * addedRegionCodes.length) * 2);
|
|
167
|
-
let offset = 0;
|
|
168
|
-
buffer.writeUInt16BE(DEFAULT_REGION_CODE, offset);
|
|
169
|
-
offset += 2;
|
|
170
|
-
buffer.writeUInt16BE(addedRegionCodes.length, offset);
|
|
171
|
-
offset += 2;
|
|
172
|
-
|
|
173
|
-
for (let i = 0; i < addedRegionCodes.length; i++) {
|
|
174
|
-
const regionCode = addedRegionCodes[i];
|
|
175
|
-
buffer.writeUInt16BE(regionCode, offset);
|
|
176
|
-
offset += 2;
|
|
177
|
-
buffer.writeUInt16BE(i, offset);
|
|
178
|
-
offset += 2;
|
|
179
|
-
buffer.writeUInt16BE(
|
|
180
|
-
/* is two byte */
|
|
181
|
-
[14, 51, 52, 53].includes(regionCode) ? 1 : 0, offset);
|
|
182
|
-
offset += 2;
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
const lPic = `data 'LPic' (5000) {\n${(0, _dmgUtil().serializeString)(buffer.toString("hex"))}\n};`;
|
|
186
|
-
const data = style.concat(rtfs).concat(lPic).concat(defaultButtons).join("\n\n");
|
|
187
|
-
packager.debugLogger.add("dmg.licenseResource", data);
|
|
188
|
-
const tempFile = await packager.getTempFile(".r");
|
|
189
|
-
await (0, _fsExtra().outputFile)(tempFile, data);
|
|
190
|
-
await (0, _builderUtil().exec)("hdiutil", ["unflatten", dmgPath]);
|
|
191
|
-
await (0, _builderUtil().exec)("Rez", ["-a", tempFile, "-o", dmgPath]);
|
|
192
|
-
await (0, _builderUtil().exec)("hdiutil", ["flatten", dmgPath]);
|
|
193
|
-
return data;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
function getRtfUnicodeEscapedString(text) {
|
|
197
|
-
let result = "";
|
|
198
|
-
|
|
199
|
-
for (let i = 0; i < text.length; i++) {
|
|
200
|
-
if (text[i] === "\\" || text[i] === "{" || text[i] === "}" || text[i] === "\n") {
|
|
201
|
-
result += `\\${text[i]}`;
|
|
202
|
-
} else if (text[i] === "\r") {// ignore
|
|
203
|
-
} else if (text.charCodeAt(i) <= 0x7f) {
|
|
204
|
-
result += text[i];
|
|
205
|
-
} else {
|
|
206
|
-
result += `\\u${text.codePointAt(i)}?`;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
return result;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
function wrapInRtf(text) {
|
|
214
|
-
return ` $"7B5C 7274 6631 5C61 6E73 695C 616E 7369"
|
|
215
|
-
$"6370 6731 3235 325C 636F 636F 6172 7466"
|
|
216
|
-
$"3135 3034 5C63 6F63 6F61 7375 6272 7466"
|
|
217
|
-
$"3833 300A 7B5C 666F 6E74 7462 6C5C 6630"
|
|
218
|
-
$"5C66 7377 6973 735C 6663 6861 7273 6574"
|
|
219
|
-
$"3020 4865 6C76 6574 6963 613B 7D0A 7B5C"
|
|
220
|
-
$"636F 6C6F 7274 626C 3B5C 7265 6432 3535"
|
|
221
|
-
$"5C67 7265 656E 3235 355C 626C 7565 3235"
|
|
222
|
-
$"353B 7D0A 7B5C 2A5C 6578 7061 6E64 6564"
|
|
223
|
-
$"636F 6C6F 7274 626C 3B3B 7D0A 5C70 6172"
|
|
224
|
-
$"645C 7478 3536 305C 7478 3131 3230 5C74"
|
|
225
|
-
$"7831 3638 305C 7478 3232 3430 5C74 7832"
|
|
226
|
-
$"3830 305C 7478 3333 3630 5C74 7833 3932"
|
|
227
|
-
$"305C 7478 3434 3830 5C74 7835 3034 305C"
|
|
228
|
-
$"7478 3536 3030 5C74 7836 3136 305C 7478"
|
|
229
|
-
$"3637 3230 5C70 6172 6469 726E 6174 7572"
|
|
230
|
-
$"616C 5C70 6172 7469 6768 7465 6E66 6163"
|
|
231
|
-
$"746F 7230 0A0A 5C66 305C 6673 3234 205C"
|
|
232
|
-
${(0, _dmgUtil().serializeString)("63663020" + Buffer.from(getRtfUnicodeEscapedString(text)).toString("hex").toUpperCase() + "7D")}`; // ^ to produce correctly splitted output, this two leading chunks from default wrapper appended here
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
function getRegionCode(langWithRegion) {
|
|
236
|
-
const result = regionCodes[langWithRegion];
|
|
237
|
-
|
|
238
|
-
if (result == null) {
|
|
239
|
-
throw new Error(`Cannot determine region code for ${langWithRegion}`);
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
return result;
|
|
243
|
-
} // noinspection SpellCheckingInspection
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
const regionCodes = {
|
|
247
|
-
en_US: 0,
|
|
248
|
-
fr_FR: 1,
|
|
249
|
-
en_GB: 2,
|
|
250
|
-
de_DE: 3,
|
|
251
|
-
it_IT: 4,
|
|
252
|
-
nl_NL: 5,
|
|
253
|
-
nl_BE: 6,
|
|
254
|
-
sv_SE: 7,
|
|
255
|
-
es_ES: 8,
|
|
256
|
-
da_DK: 9,
|
|
257
|
-
pt_PT: 10,
|
|
258
|
-
fr_CA: 11,
|
|
259
|
-
nb_NO: 12,
|
|
260
|
-
he_IL: 13,
|
|
261
|
-
ja_JP: 14,
|
|
262
|
-
en_AU: 15,
|
|
263
|
-
ar: 16,
|
|
264
|
-
fi_FI: 17,
|
|
265
|
-
fr_CH: 18,
|
|
266
|
-
de_CH: 19,
|
|
267
|
-
el_GR: 20,
|
|
268
|
-
is_IS: 21,
|
|
269
|
-
mt_MT: 22,
|
|
270
|
-
el_CY: 23,
|
|
271
|
-
tr_TR: 24,
|
|
272
|
-
hi_IN: 33,
|
|
273
|
-
ur_PK: 34,
|
|
274
|
-
it_CH: 36,
|
|
275
|
-
ro_RO: 39,
|
|
276
|
-
grc: 40,
|
|
277
|
-
lt_LT: 41,
|
|
278
|
-
pl_PL: 42,
|
|
279
|
-
hu_HU: 43,
|
|
280
|
-
et_EE: 44,
|
|
281
|
-
lv_LV: 45,
|
|
282
|
-
se: 46,
|
|
283
|
-
fo_FO: 47,
|
|
284
|
-
fa_IR: 48,
|
|
285
|
-
ru_RU: 49,
|
|
286
|
-
ga_IE: 50,
|
|
287
|
-
ko_KR: 51,
|
|
288
|
-
zh_CN: 52,
|
|
289
|
-
zh_TW: 53,
|
|
290
|
-
th_TH: 54,
|
|
291
|
-
cs_CZ: 56,
|
|
292
|
-
sk_SK: 57,
|
|
293
|
-
bn: 60,
|
|
294
|
-
be_BY: 61,
|
|
295
|
-
uk_UA: 62,
|
|
296
|
-
sr_RS: 65,
|
|
297
|
-
sl_SI: 66,
|
|
298
|
-
mk_MK: 67,
|
|
299
|
-
hr_HR: 68,
|
|
300
|
-
pt_BR: 71,
|
|
301
|
-
bg_BG: 72,
|
|
302
|
-
ca_ES: 73,
|
|
303
|
-
gd: 75,
|
|
304
|
-
gv: 76,
|
|
305
|
-
br: 77,
|
|
306
|
-
iu_CA: 78,
|
|
307
|
-
cy: 79,
|
|
308
|
-
"ga-Latg_IE": 81,
|
|
309
|
-
en_CA: 82,
|
|
310
|
-
dz_BT: 83,
|
|
311
|
-
hy_AM: 84,
|
|
312
|
-
ka_GE: 85,
|
|
313
|
-
es_419: 86,
|
|
314
|
-
to_TO: 88,
|
|
315
|
-
fr_001: 91,
|
|
316
|
-
de_AT: 92,
|
|
317
|
-
gu_IN: 94,
|
|
318
|
-
pa: 95,
|
|
319
|
-
ur_IN: 96,
|
|
320
|
-
vi_VN: 97,
|
|
321
|
-
fr_BE: 98,
|
|
322
|
-
uz_UZ: 99,
|
|
323
|
-
en_SG: 100,
|
|
324
|
-
nn_NO: 101,
|
|
325
|
-
af_ZA: 102,
|
|
326
|
-
eo: 103,
|
|
327
|
-
mr_IN: 104,
|
|
328
|
-
bo: 105,
|
|
329
|
-
ne_NP: 106,
|
|
330
|
-
kl: 107,
|
|
331
|
-
en_IE: 108
|
|
332
|
-
};
|
|
111
|
+
}
|
|
333
112
|
// __ts-babel@6.0.4
|
|
334
113
|
//# sourceMappingURL=dmgLicense.js.map
|
package/out/dmgLicense.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/dmgLicense.ts"],"names":[],"mappings":"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","sourcesContent":["import { exec, log } from \"builder-util\"\nimport { safeLoad } from 'js-yaml'\nimport { PlatformPackager } from \"app-builder-lib\"\nimport { getLicenseFiles } from \"app-builder-lib/out/util/license\"\nimport { outputFile, readFile, readJson } from \"fs-extra\"\nimport { serializeString } from \"./dmgUtil\"\nimport { getLicenseButtons, getLicenseButtonsFile } from \"./licenseButtons\"\nimport { dmgLicenseFromJSON } from 'dmg-license'\n\n// DropDMG/dmgbuild a in any case (even if no english, but only ru/de) set to 0 (en_US), well, without docs, just believe that's correct\nconst DEFAULT_REGION_CODE = 0\n\n// License Specifications\n// https://github.com/argv-minus-one/dmg-license/blob/HEAD/docs/License%20Specifications.md\ntype LicenseConfig = {\n '$schema': string\n body: any[]\n labels: any[]\n}\n\nexport async function addLicenseToDmg(packager: PlatformPackager<any>, dmgPath: string): Promise<LicenseConfig | null> {\n const licenseFiles = await getLicenseFiles(packager)\n if (licenseFiles.length === 0) {\n return null\n }\n\n const licenseButtonFiles = await getLicenseButtonsFile(packager)\n packager.debugLogger.add(\"dmg.licenseFiles\", licenseFiles)\n packager.debugLogger.add(\"dmg.licenseButtons\", licenseButtonFiles)\n\n const jsonFile: LicenseConfig = {\n \"$schema\": \"https://github.com/argv-minus-one/dmg-license/raw/master/schema.json\",\n // defaultLang: '',\n body: [],\n labels: []\n }\n\n for (const file of licenseFiles) {\n jsonFile.body.push({\n file: file.file,\n lang: file.langWithRegion.replace('_', '-')\n })\n }\n\n for (const button of licenseButtonFiles) {\n const filepath = button.file\n const label = filepath.endsWith(\".yml\") ? safeLoad(await readFile(filepath, \"utf-8\")) : await readJson(filepath)\n if (label.description) {\n // to support original button file format\n label.message = label.description\n delete label.description\n }\n jsonFile.labels.push(Object.assign(\n {\n lang: button.langWithRegion.replace('_', '-')\n },\n label\n ))\n }\n\n await dmgLicenseFromJSON(dmgPath, jsonFile, {\n onNonFatalError: log.warn.bind(log)\n })\n\n return jsonFile\n}\n\nexport async function addLicenseToDmgOld(packager: PlatformPackager<any>, dmgPath: string): Promise<string | null> {\n // http://www.owsiak.org/?p=700\n const licenseFiles = await getLicenseFiles(packager)\n if (licenseFiles.length === 0) {\n return null\n }\n\n const licenseButtonFiles = await getLicenseButtonsFile(packager)\n packager.debugLogger.add(\"dmg.licenseFiles\", licenseFiles)\n packager.debugLogger.add(\"dmg.licenseButtons\", licenseButtonFiles)\n\n const style: Array<string> = []\n const rtfs: Array<string> = []\n const defaultButtons: Array<string> = []\n\n let counter = 5000\n const addedRegionCodes: Array<number> = []\n for (const item of licenseFiles) {\n log.info({lang: item.langName}, \"adding license\")\n\n // value from DropDMG, data the same for any language\n // noinspection SpellCheckingInspection\n style.push(`data 'styl' (${counter}, \"${item.langName}\") {\n $\"0001 0000 0000 000E 0011 0015 0000 000C\"\n $\"0000 0000 0000\"\n};`)\n\n let data = `data 'RTF ' (${counter}, \"${item.langName}\") {\\n`\n const fileData = await readFile(item.file, \"utf-8\")\n const isRtf = item.file.endsWith(\".rtf\") || item.file.endsWith(\".RTF\")\n data += isRtf ? serializeString((Buffer.from(fileData)).toString(\"hex\")) : wrapInRtf(await readFile(item.file, \"utf-8\"))\n data += \"\\n};\"\n rtfs.push(data)\n\n defaultButtons.push(await getLicenseButtons(licenseButtonFiles, item.langWithRegion, counter, item.langName))\n addedRegionCodes.push(getRegionCode(item.langWithRegion))\n counter++\n }\n\n const buffer = Buffer.allocUnsafe((2 + (3 * addedRegionCodes.length)) * 2)\n let offset = 0\n buffer.writeUInt16BE(DEFAULT_REGION_CODE, offset)\n offset += 2\n buffer.writeUInt16BE(addedRegionCodes.length, offset)\n offset += 2\n\n for (let i = 0; i < addedRegionCodes.length; i++) {\n const regionCode = addedRegionCodes[i]\n buffer.writeUInt16BE(regionCode, offset)\n offset += 2\n buffer.writeUInt16BE(i, offset)\n offset += 2\n buffer.writeUInt16BE(/* is two byte */ [14, 51, 52, 53].includes(regionCode) ? 1 : 0, offset)\n offset += 2\n }\n\n const lPic = `data 'LPic' (5000) {\\n${serializeString(buffer.toString(\"hex\"))}\\n};`\n const data = style\n .concat(rtfs)\n .concat(lPic)\n .concat(defaultButtons)\n .join(\"\\n\\n\")\n\n packager.debugLogger.add(\"dmg.licenseResource\", data)\n const tempFile = await packager.getTempFile(\".r\")\n await outputFile(tempFile, data)\n await exec(\"hdiutil\", [\"unflatten\", dmgPath])\n await exec(\"Rez\", [\"-a\", tempFile, \"-o\", dmgPath])\n await exec(\"hdiutil\", [\"flatten\", dmgPath])\n\n return data\n}\n\nfunction getRtfUnicodeEscapedString(text: string) {\n let result = \"\"\n for (let i = 0; i < text.length; i++) {\n if (text[i] === \"\\\\\" || text[i] === \"{\" || text[i] === \"}\" || text[i] === \"\\n\") {\n result += `\\\\${text[i]}`\n }\n else if (text[i] === \"\\r\") {\n // ignore\n }\n else if (text.charCodeAt(i) <= 0x7f) {\n result += text[i]\n }\n else {\n result += `\\\\u${text.codePointAt(i)}?`\n }\n }\n return result\n}\n\nfunction wrapInRtf(text: string) {\n return ` $\"7B5C 7274 6631 5C61 6E73 695C 616E 7369\"\n $\"6370 6731 3235 325C 636F 636F 6172 7466\"\n $\"3135 3034 5C63 6F63 6F61 7375 6272 7466\"\n $\"3833 300A 7B5C 666F 6E74 7462 6C5C 6630\"\n $\"5C66 7377 6973 735C 6663 6861 7273 6574\"\n $\"3020 4865 6C76 6574 6963 613B 7D0A 7B5C\"\n $\"636F 6C6F 7274 626C 3B5C 7265 6432 3535\"\n $\"5C67 7265 656E 3235 355C 626C 7565 3235\"\n $\"353B 7D0A 7B5C 2A5C 6578 7061 6E64 6564\"\n $\"636F 6C6F 7274 626C 3B3B 7D0A 5C70 6172\"\n $\"645C 7478 3536 305C 7478 3131 3230 5C74\"\n $\"7831 3638 305C 7478 3232 3430 5C74 7832\"\n $\"3830 305C 7478 3333 3630 5C74 7833 3932\"\n $\"305C 7478 3434 3830 5C74 7835 3034 305C\"\n $\"7478 3536 3030 5C74 7836 3136 305C 7478\"\n $\"3637 3230 5C70 6172 6469 726E 6174 7572\"\n $\"616C 5C70 6172 7469 6768 7465 6E66 6163\"\n $\"746F 7230 0A0A 5C66 305C 6673 3234 205C\"\n${serializeString(\"63663020\" + Buffer.from(getRtfUnicodeEscapedString(text)).toString(\"hex\").toUpperCase() + \"7D\")}`\n // ^ to produce correctly splitted output, this two leading chunks from default wrapper appended here\n}\n\nfunction getRegionCode(langWithRegion: string) {\n const result = regionCodes[langWithRegion]\n if (result == null) {\n throw new Error(`Cannot determine region code for ${langWithRegion}`)\n }\n return result\n}\n\n// noinspection SpellCheckingInspection\nconst regionCodes: any = {\n en_US: 0,\n fr_FR: 1,\n en_GB: 2,\n de_DE: 3,\n it_IT: 4,\n nl_NL: 5,\n nl_BE: 6,\n sv_SE: 7,\n es_ES: 8,\n da_DK: 9,\n pt_PT: 10,\n fr_CA: 11,\n nb_NO: 12,\n he_IL: 13,\n ja_JP: 14,\n en_AU: 15,\n ar: 16,\n fi_FI: 17,\n fr_CH: 18,\n de_CH: 19,\n el_GR: 20,\n is_IS: 21,\n mt_MT: 22,\n el_CY: 23,\n tr_TR: 24,\n hi_IN: 33,\n ur_PK: 34,\n it_CH: 36,\n ro_RO: 39,\n grc: 40,\n lt_LT: 41,\n pl_PL: 42,\n hu_HU: 43,\n et_EE: 44,\n lv_LV: 45,\n se: 46,\n fo_FO: 47,\n fa_IR: 48,\n ru_RU: 49,\n ga_IE: 50,\n ko_KR: 51,\n zh_CN: 52,\n zh_TW: 53,\n th_TH: 54,\n cs_CZ: 56,\n sk_SK: 57,\n bn: 60,\n be_BY: 61,\n uk_UA: 62,\n sr_RS: 65,\n sl_SI: 66,\n mk_MK: 67,\n hr_HR: 68,\n pt_BR: 71,\n bg_BG: 72,\n ca_ES: 73,\n gd: 75,\n gv: 76,\n br: 77,\n iu_CA: 78,\n cy: 79,\n \"ga-Latg_IE\": 81,\n en_CA: 82,\n dz_BT: 83,\n hy_AM: 84,\n ka_GE: 85,\n es_419: 86,\n to_TO: 88,\n fr_001: 91,\n de_AT: 92,\n gu_IN: 94,\n pa: 95,\n ur_IN: 96,\n vi_VN: 97,\n fr_BE: 98,\n uz_UZ: 99,\n en_SG: 100,\n nn_NO: 101,\n af_ZA: 102,\n eo: 103,\n mr_IN: 104,\n bo: 105,\n ne_NP: 106,\n kl: 107,\n en_IE: 108\n}\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["../src/dmgLicense.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;;AAUO,eAAe,eAAf,CAA+B,QAA/B,EAAgE,OAAhE,EAA+E;AACpF,QAAM,YAAY,GAAG,MAAM,gCAAgB,QAAhB,CAA3B;;AACA,MAAI,YAAY,CAAC,MAAb,KAAwB,CAA5B,EAA+B;AAC7B,WAAO,IAAP;AACD;;AAED,QAAM,kBAAkB,GAAG,MAAM,6CAAsB,QAAtB,CAAjC;AACA,EAAA,QAAQ,CAAC,WAAT,CAAqB,GAArB,CAAyB,kBAAzB,EAA6C,YAA7C;AACA,EAAA,QAAQ,CAAC,WAAT,CAAqB,GAArB,CAAyB,oBAAzB,EAA+C,kBAA/C;AAEA,QAAM,QAAQ,GAAkB;AAC9B,eAAW,sEADmB;AAE9B;AACA,IAAA,IAAI,EAAE,EAHwB;AAI9B,IAAA,MAAM,EAAE;AAJsB,GAAhC;;AAOA,OAAK,MAAM,IAAX,IAAmB,YAAnB,EAAiC;AAC/B,IAAA,QAAQ,CAAC,IAAT,CAAc,IAAd,CAAmB;AACjB,MAAA,IAAI,EAAE,IAAI,CAAC,IADM;AAEjB,MAAA,IAAI,EAAE,IAAI,CAAC,cAAL,CAAoB,OAApB,CAA4B,GAA5B,EAAiC,GAAjC;AAFW,KAAnB;AAID;;AAED,OAAK,MAAM,MAAX,IAAqB,kBAArB,EAAyC;AACvC,UAAM,QAAQ,GAAG,MAAM,CAAC,IAAxB;AACA,UAAM,KAAK,GAAG,QAAQ,CAAC,QAAT,CAAkB,MAAlB,IAA4B,oBAAK,MAAM,yBAAS,QAAT,EAAmB,OAAnB,CAAX,CAA5B,GAAsE,MAAM,yBAAS,QAAT,CAA1F;;AACA,QAAI,KAAK,CAAC,WAAV,EAAuB;AACrB;AACA,MAAA,KAAK,CAAC,OAAN,GAAgB,KAAK,CAAC,WAAtB;AACA,aAAO,KAAK,CAAC,WAAb;AACD;;AACD,IAAA,QAAQ,CAAC,MAAT,CAAgB,IAAhB,CAAqB,MAAM,CAAC,MAAP,CACnB;AACE,MAAA,IAAI,EAAE,MAAM,CAAC,cAAP,CAAsB,OAAtB,CAA8B,GAA9B,EAAmC,GAAnC;AADR,KADmB,EAInB,KAJmB,CAArB;AAMD;;AAED,QAAM,sCAAmB,OAAnB,EAA4B,QAA5B,EAAsC;AAC1C,IAAA,eAAe,EAAE,mBAAI,IAAJ,CAAS,IAAT,CAAc,kBAAd;AADyB,GAAtC,CAAN;AAIA,SAAO,QAAP;AACD,C","sourcesContent":["import { log } from \"builder-util\"\nimport { load } from 'js-yaml'\nimport { PlatformPackager } from \"app-builder-lib\"\nimport { getLicenseFiles } from \"app-builder-lib/out/util/license\"\nimport { readFile, readJson } from \"fs-extra\"\nimport { getLicenseButtonsFile } from \"./licenseButtons\"\nimport { dmgLicenseFromJSON } from 'dmg-license'\n\n// License Specifications\n// https://github.com/argv-minus-one/dmg-license/blob/HEAD/docs/License%20Specifications.md\ntype LicenseConfig = {\n '$schema': string\n body: any[]\n labels: any[]\n}\n\nexport async function addLicenseToDmg(packager: PlatformPackager<any>, dmgPath: string): Promise<LicenseConfig | null> {\n const licenseFiles = await getLicenseFiles(packager)\n if (licenseFiles.length === 0) {\n return null\n }\n\n const licenseButtonFiles = await getLicenseButtonsFile(packager)\n packager.debugLogger.add(\"dmg.licenseFiles\", licenseFiles)\n packager.debugLogger.add(\"dmg.licenseButtons\", licenseButtonFiles)\n\n const jsonFile: LicenseConfig = {\n \"$schema\": \"https://github.com/argv-minus-one/dmg-license/raw/master/schema.json\",\n // defaultLang: '',\n body: [],\n labels: []\n }\n\n for (const file of licenseFiles) {\n jsonFile.body.push({\n file: file.file,\n lang: file.langWithRegion.replace('_', '-')\n })\n }\n\n for (const button of licenseButtonFiles) {\n const filepath = button.file\n const label = filepath.endsWith(\".yml\") ? load(await readFile(filepath, \"utf-8\")) : await readJson(filepath)\n if (label.description) {\n // to support original button file format\n label.message = label.description\n delete label.description\n }\n jsonFile.labels.push(Object.assign(\n {\n lang: button.langWithRegion.replace('_', '-')\n },\n label\n ))\n }\n\n await dmgLicenseFromJSON(dmgPath, jsonFile, {\n onNonFatalError: log.warn.bind(log)\n })\n\n return jsonFile\n}\n"],"sourceRoot":""}
|
package/out/licenseButtons.js
CHANGED
|
@@ -97,7 +97,7 @@ async function getLicenseButtons(licenseButtonFiles, langWithRegion, id, name) {
|
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
try {
|
|
100
|
-
const fileData = (0, _jsYaml().
|
|
100
|
+
const fileData = (0, _jsYaml().load)(await (0, _fsExtra().readFile)(item.file, "utf-8"));
|
|
101
101
|
const buttonsStr = labelToHex(fileData.lang, item.lang, item.langWithRegion) + labelToHex(fileData.agree, item.lang, item.langWithRegion) + labelToHex(fileData.disagree, item.lang, item.langWithRegion) + labelToHex(fileData.print, item.lang, item.langWithRegion) + labelToHex(fileData.save, item.lang, item.langWithRegion) + labelToHex(fileData.description, item.lang, item.langWithRegion);
|
|
102
102
|
data = `data 'STR#' (${id}, "${name}") {\n`;
|
|
103
103
|
data += (0, _dmgUtil().serializeString)("0006" + buttonsStr);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/licenseButtons.ts"],"names":[],"mappings":"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","sourcesContent":["import { log } from \"builder-util\"\nimport { PlatformPackager } from \"app-builder-lib\"\nimport { getLicenseAssets } from \"app-builder-lib/out/util/license\"\nimport { readFile } from \"fs-extra\"\nimport * as iconv from \"iconv-lite\"\nimport { safeLoad } from \"js-yaml\"\nimport { serializeString } from \"./dmgUtil\"\nimport { getDefaultButtons } from \"./licenseDefaultButtons\"\n\nexport async function getLicenseButtonsFile(packager: PlatformPackager<any>): Promise<Array<LicenseButtonsFile>> {\n return getLicenseAssets((await packager.resourceList)\n .filter(it => {\n const name = it.toLowerCase()\n // noinspection SpellCheckingInspection\n return name.startsWith(\"licensebuttons_\") && (name.endsWith(\".json\") || name.endsWith(\".yml\"))\n }), packager)\n}\n\nexport interface LicenseButtonsFile {\n file: string\n lang: string\n langWithRegion: string\n langName: string\n}\n\nexport async function getLicenseButtons(licenseButtonFiles: Array<LicenseButtonsFile>, langWithRegion: string, id: number, name: string) {\n let data = getDefaultButtons(langWithRegion, id, name)\n\n for (const item of licenseButtonFiles) {\n if (item.langWithRegion !== langWithRegion) {\n continue\n }\n\n try {\n const fileData = safeLoad(await readFile(item.file, \"utf-8\")) as any\n const buttonsStr = labelToHex(fileData.lang, item.lang, item.langWithRegion) +\n labelToHex(fileData.agree, item.lang, item.langWithRegion) +\n labelToHex(fileData.disagree, item.lang, item.langWithRegion) +\n labelToHex(fileData.print, item.lang, item.langWithRegion) +\n labelToHex(fileData.save, item.lang, item.langWithRegion) +\n labelToHex(fileData.description, item.lang, item.langWithRegion)\n\n data = `data 'STR#' (${id}, \"${name}\") {\\n`\n data += serializeString(\"0006\" + buttonsStr)\n data += `\\n};`\n\n if (log.isDebugEnabled) {\n log.debug({lang: item.langName, data}, `overwriting license buttons`)\n }\n return data\n }\n catch (e) {\n log.debug({error: e}, \"cannot overwrite license buttons\")\n return data\n }\n }\n\n return data\n}\n\nfunction labelToHex(label: string, lang: string, langWithRegion: string) {\n const lbl = hexEncode(label, lang, langWithRegion).toString().toUpperCase()\n const len = numberToHex((lbl.length / 2))\n return len + lbl\n}\n\nfunction numberToHex(nb: number) {\n return (\"0\" + (nb.toString(16))).slice(-2)\n}\n\nfunction hexEncode(str: string, lang: string, langWithRegion: string) {\n const macCodePages = getMacCodePage(lang, langWithRegion)\n let result = \"\"\n\n for (let i = 0; i < str.length; i++) {\n try {\n let hex = getMacHexCode(str, i, macCodePages)\n if (hex === undefined) {\n hex = \"3F\" //?\n }\n result += hex\n }\n catch (e) {\n log.debug({error: e, char: str[i]}, \"cannot convert\")\n result += \"3F\" //?\n }\n }\n\n return result\n}\n\nfunction getMacCodePage(lang: string, langWithRegion: string) {\n switch (lang) {\n case \"ja\": //japanese\n return [\"euc-jp\"] //Apple Japanese\n case \"zh\": //chinese\n if (langWithRegion === \"zh_CN\") {\n return [\"gb2312\"] //Apple Simplified Chinese (GB 2312)\n }\n return [\"big5\"] //Apple Traditional Chinese (Big5)\n case \"ko\": //korean\n return [\"euc-kr\"] //Apple Korean\n case \"ar\": //arabic\n case \"ur\": //urdu\n return [\"macarabic\"] //Apple Arabic\n case \"he\": //hebrew\n return [\"machebrew\"] //Apple Hebrew\n case \"el\": //greek\n case \"elc\": //greek\n return [\"macgreek\"] //Apple Greek\n case \"ru\": //russian\n case \"be\": //belarussian\n case \"sr\": //serbian\n case \"bg\": //bulgarian\n case \"uz\": //uzbek\n return [\"maccyrillic\"] //Apple Macintosh Cyrillic\n case \"ro\": //romanian\n return [\"macromania\"] //Apple Romanian\n case \"uk\": //ukrainian\n return [\"macukraine\"] //Apple Ukrainian\n case \"th\": //thai\n return [\"macthai\"] //Apple Thai\n case \"et\": //estonian\n case \"lt\": //lithuanian\n case \"lv\": //latvian\n case \"pl\": //polish\n case \"hu\": //hungarian\n case \"cs\": //czech\n case \"sk\": //slovak\n return [\"maccenteuro\"] //Apple Macintosh Central Europe\n case \"is\": //icelandic\n case \"fo\": //faroese\n return [\"maciceland\"] //Apple Icelandic\n case \"tr\": //turkish\n return [\"macturkish\"] //Apple Turkish\n case \"hr\": //croatian\n case \"sl\": //slovenian\n return [\"maccroatian\"] //Apple Croatian\n default:\n return [\"macroman\"] //Apple Macintosh Roman\n }\n}\n\nfunction getMacHexCode(str: string, i: number, macCodePages: any) {\n const code = str.charCodeAt(i)\n if (code < 128) {\n return code.toString(16)\n }\n else if (code < 256) {\n return iconv.encode(str[i], \"macroman\").toString(\"hex\")\n }\n else {\n for (let i = 0; i < macCodePages.length; i++) {\n const result = iconv.encode(str[i], macCodePages[i]).toString(\"hex\")\n if (result !== undefined) {\n return result\n }\n }\n }\n return code\n}"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["../src/licenseButtons.ts"],"names":[],"mappings":"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","sourcesContent":["import { log } from \"builder-util\"\nimport { PlatformPackager } from \"app-builder-lib\"\nimport { getLicenseAssets } from \"app-builder-lib/out/util/license\"\nimport { readFile } from \"fs-extra\"\nimport * as iconv from \"iconv-lite\"\nimport { load } from \"js-yaml\"\nimport { serializeString } from \"./dmgUtil\"\nimport { getDefaultButtons } from \"./licenseDefaultButtons\"\n\nexport async function getLicenseButtonsFile(packager: PlatformPackager<any>): Promise<Array<LicenseButtonsFile>> {\n return getLicenseAssets((await packager.resourceList)\n .filter(it => {\n const name = it.toLowerCase()\n // noinspection SpellCheckingInspection\n return name.startsWith(\"licensebuttons_\") && (name.endsWith(\".json\") || name.endsWith(\".yml\"))\n }), packager)\n}\n\nexport interface LicenseButtonsFile {\n file: string\n lang: string\n langWithRegion: string\n langName: string\n}\n\nexport async function getLicenseButtons(licenseButtonFiles: Array<LicenseButtonsFile>, langWithRegion: string, id: number, name: string) {\n let data = getDefaultButtons(langWithRegion, id, name)\n\n for (const item of licenseButtonFiles) {\n if (item.langWithRegion !== langWithRegion) {\n continue\n }\n\n try {\n const fileData = load(await readFile(item.file, \"utf-8\")) as any\n const buttonsStr = labelToHex(fileData.lang, item.lang, item.langWithRegion) +\n labelToHex(fileData.agree, item.lang, item.langWithRegion) +\n labelToHex(fileData.disagree, item.lang, item.langWithRegion) +\n labelToHex(fileData.print, item.lang, item.langWithRegion) +\n labelToHex(fileData.save, item.lang, item.langWithRegion) +\n labelToHex(fileData.description, item.lang, item.langWithRegion)\n\n data = `data 'STR#' (${id}, \"${name}\") {\\n`\n data += serializeString(\"0006\" + buttonsStr)\n data += `\\n};`\n\n if (log.isDebugEnabled) {\n log.debug({lang: item.langName, data}, `overwriting license buttons`)\n }\n return data\n }\n catch (e) {\n log.debug({error: e}, \"cannot overwrite license buttons\")\n return data\n }\n }\n\n return data\n}\n\nfunction labelToHex(label: string, lang: string, langWithRegion: string) {\n const lbl = hexEncode(label, lang, langWithRegion).toString().toUpperCase()\n const len = numberToHex((lbl.length / 2))\n return len + lbl\n}\n\nfunction numberToHex(nb: number) {\n return (\"0\" + (nb.toString(16))).slice(-2)\n}\n\nfunction hexEncode(str: string, lang: string, langWithRegion: string) {\n const macCodePages = getMacCodePage(lang, langWithRegion)\n let result = \"\"\n\n for (let i = 0; i < str.length; i++) {\n try {\n let hex = getMacHexCode(str, i, macCodePages)\n if (hex === undefined) {\n hex = \"3F\" //?\n }\n result += hex\n }\n catch (e) {\n log.debug({error: e, char: str[i]}, \"cannot convert\")\n result += \"3F\" //?\n }\n }\n\n return result\n}\n\nfunction getMacCodePage(lang: string, langWithRegion: string) {\n switch (lang) {\n case \"ja\": //japanese\n return [\"euc-jp\"] //Apple Japanese\n case \"zh\": //chinese\n if (langWithRegion === \"zh_CN\") {\n return [\"gb2312\"] //Apple Simplified Chinese (GB 2312)\n }\n return [\"big5\"] //Apple Traditional Chinese (Big5)\n case \"ko\": //korean\n return [\"euc-kr\"] //Apple Korean\n case \"ar\": //arabic\n case \"ur\": //urdu\n return [\"macarabic\"] //Apple Arabic\n case \"he\": //hebrew\n return [\"machebrew\"] //Apple Hebrew\n case \"el\": //greek\n case \"elc\": //greek\n return [\"macgreek\"] //Apple Greek\n case \"ru\": //russian\n case \"be\": //belarussian\n case \"sr\": //serbian\n case \"bg\": //bulgarian\n case \"uz\": //uzbek\n return [\"maccyrillic\"] //Apple Macintosh Cyrillic\n case \"ro\": //romanian\n return [\"macromania\"] //Apple Romanian\n case \"uk\": //ukrainian\n return [\"macukraine\"] //Apple Ukrainian\n case \"th\": //thai\n return [\"macthai\"] //Apple Thai\n case \"et\": //estonian\n case \"lt\": //lithuanian\n case \"lv\": //latvian\n case \"pl\": //polish\n case \"hu\": //hungarian\n case \"cs\": //czech\n case \"sk\": //slovak\n return [\"maccenteuro\"] //Apple Macintosh Central Europe\n case \"is\": //icelandic\n case \"fo\": //faroese\n return [\"maciceland\"] //Apple Icelandic\n case \"tr\": //turkish\n return [\"macturkish\"] //Apple Turkish\n case \"hr\": //croatian\n case \"sl\": //slovenian\n return [\"maccroatian\"] //Apple Croatian\n default:\n return [\"macroman\"] //Apple Macintosh Roman\n }\n}\n\nfunction getMacHexCode(str: string, i: number, macCodePages: any) {\n const code = str.charCodeAt(i)\n if (code < 128) {\n return code.toString(16)\n }\n else if (code < 256) {\n return iconv.encode(str[i], \"macroman\").toString(\"hex\")\n }\n else {\n for (let i = 0; i < macCodePages.length; i++) {\n const result = iconv.encode(str[i], macCodePages[i]).toString(\"hex\")\n if (result !== undefined) {\n return result\n }\n }\n }\n return code\n}"],"sourceRoot":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dmg-builder",
|
|
3
|
-
"version": "22.10.
|
|
3
|
+
"version": "22.10.5",
|
|
4
4
|
"main": "out/dmgUtil.js",
|
|
5
5
|
"author": "Vladimir Krivosheev",
|
|
6
6
|
"license": "MIT",
|
|
@@ -13,17 +13,19 @@
|
|
|
13
13
|
"vendor"
|
|
14
14
|
],
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"app-builder-lib": "22.10.
|
|
17
|
-
"builder-util": "22.10.
|
|
18
|
-
"
|
|
19
|
-
"fs-extra": "^9.0.1",
|
|
16
|
+
"app-builder-lib": "22.10.5",
|
|
17
|
+
"builder-util": "22.10.5",
|
|
18
|
+
"fs-extra": "^9.1.0",
|
|
20
19
|
"iconv-lite": "^0.6.2",
|
|
21
|
-
"js-yaml": "^
|
|
20
|
+
"js-yaml": "^4.0.0",
|
|
22
21
|
"sanitize-filename": "^1.6.3"
|
|
23
22
|
},
|
|
23
|
+
"optionalDependencies": {
|
|
24
|
+
"dmg-license": "^1.0.8"
|
|
25
|
+
},
|
|
24
26
|
"devDependencies": {
|
|
25
|
-
"@types/fs-extra": "^9.0.
|
|
26
|
-
"@types/js-yaml": "^3.12.
|
|
27
|
+
"@types/fs-extra": "^9.0.7",
|
|
28
|
+
"@types/js-yaml": "^3.12.6",
|
|
27
29
|
"temp-file": "^3.3.7"
|
|
28
30
|
},
|
|
29
31
|
"typings": "./out/dmg.d.ts"
|
|
Binary file
|
|
Binary file
|
package/vendor/mac_alias/osx.pyc
CHANGED
|
Binary file
|