dmg-builder 22.7.0 → 22.9.1
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 +2 -2
- package/out/dmg.js.map +1 -1
- package/out/dmgLicense.js +2 -2
- package/out/dmgLicense.js.map +1 -1
- package/out/licenseButtons.js +1 -1
- package/out/licenseButtons.js.map +1 -1
- package/package.json +6 -6
package/out/dmg.js
CHANGED
|
@@ -132,7 +132,7 @@ class DmgTarget extends _appBuilderLib().Target {
|
|
|
132
132
|
arch
|
|
133
133
|
});
|
|
134
134
|
const volumeName = (0, _sanitizeFilename().default)(this.computeVolumeName(this.options.title));
|
|
135
|
-
const tempDmg = await createStageDmg(
|
|
135
|
+
const tempDmg = await createStageDmg(await packager.getTempFile(".dmg"), appPath, volumeName);
|
|
136
136
|
const specification = await this.computeDmgOptions(); // https://github.com/electron-userland/electron-builder/issues/2115
|
|
137
137
|
|
|
138
138
|
const backgroundFile = specification.background == null ? null : await transformBackgroundFileIfNeed(specification.background, packager.info.tempDirManager);
|
|
@@ -355,7 +355,7 @@ async function customizeDmg(volumePath, specification, packager, backgroundFile)
|
|
|
355
355
|
const args = ["dmg", "--volume", volumePath];
|
|
356
356
|
|
|
357
357
|
if (specification.icon != null) {
|
|
358
|
-
args.push("--icon",
|
|
358
|
+
args.push("--icon", await packager.getResource(specification.icon));
|
|
359
359
|
}
|
|
360
360
|
|
|
361
361
|
if (backgroundFile != null) {
|
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, 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(packager.config.dmg, \"dmg\", null, \"${productName}-\" + (packager.platformSpecificBuildOptions.bundleShortVersion || \"${version}\") + \".${ext}\")\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(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(custom?: string | null): string {\n const appInfo = this.packager.appInfo\n const shortVersion = this.packager.platformSpecificBuildOptions.bundleShortVersion || appInfo.version\n\n if (custom == null) {\n return `${appInfo.productFilename} ${shortVersion}`\n }\n\n return custom\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, 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(packager.config.dmg, \"dmg\", null, \"${productName}-\" + (packager.platformSpecificBuildOptions.bundleShortVersion || \"${version}\") + \".${ext}\")\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(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(custom?: string | null): string {\n const appInfo = this.packager.appInfo\n const shortVersion = this.packager.platformSpecificBuildOptions.bundleShortVersion || appInfo.version\n\n if (custom == null) {\n return `${appInfo.productFilename} ${shortVersion}`\n }\n\n return custom\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":""}
|
package/out/dmgLicense.js
CHANGED
|
@@ -89,10 +89,10 @@ async function addLicenseToDmg(packager, dmgPath) {
|
|
|
89
89
|
let data = `data 'RTF ' (${counter}, "${item.langName}") {\n`;
|
|
90
90
|
const fileData = await (0, _fsExtra().readFile)(item.file, "utf-8");
|
|
91
91
|
const isRtf = item.file.endsWith(".rtf") || item.file.endsWith(".RTF");
|
|
92
|
-
data += isRtf ? (0, _dmgUtil().serializeString)(Buffer.from(fileData).toString("hex")) : wrapInRtf(
|
|
92
|
+
data += isRtf ? (0, _dmgUtil().serializeString)(Buffer.from(fileData).toString("hex")) : wrapInRtf(await (0, _fsExtra().readFile)(item.file, "utf-8"));
|
|
93
93
|
data += "\n};";
|
|
94
94
|
rtfs.push(data);
|
|
95
|
-
defaultButtons.push(
|
|
95
|
+
defaultButtons.push(await (0, _licenseButtons().getLicenseButtons)(licenseButtonFiles, item.langWithRegion, counter, item.langName));
|
|
96
96
|
addedRegionCodes.push(getRegionCode(item.langWithRegion));
|
|
97
97
|
counter++;
|
|
98
98
|
}
|
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 { PlatformPackager } from \"app-builder-lib\"\nimport { getLicenseFiles } from \"app-builder-lib/out/util/license\"\nimport { outputFile, readFile } from \"fs-extra\"\nimport { serializeString } from \"./dmgUtil\"\nimport { getLicenseButtons, getLicenseButtonsFile } from \"./licenseButtons\"\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\nexport async function addLicenseToDmg(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;;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;;AAEA;AACA,MAAM,mBAAmB,GAAG,CAA5B;;AAEO,eAAe,eAAf,CAA+B,QAA/B,EAAgE,OAAhE,EAA+E;AACpF;AACA,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,KAAK,GAAkB,EAA7B;AACA,QAAM,IAAI,GAAkB,EAA5B;AACA,QAAM,cAAc,GAAkB,EAAtC;AAEA,MAAI,OAAO,GAAG,IAAd;AACA,QAAM,gBAAgB,GAAkB,EAAxC;;AACA,OAAK,MAAM,IAAX,IAAmB,YAAnB,EAAiC;AAC/B,uBAAI,IAAJ,CAAS;AAAC,MAAA,IAAI,EAAE,IAAI,CAAC;AAAZ,KAAT,EAAgC,gBAAhC,EAD+B,CAG/B;AACA;;;AACA,IAAA,KAAK,CAAC,IAAN,CAAW,gBAAgB,OAAO,MAAM,IAAI,CAAC,QAAQ;;;GAArD;AAKA,QAAI,IAAI,GAAG,gBAAgB,OAAO,MAAM,IAAI,CAAC,QAAQ,QAArD;AACA,UAAM,QAAQ,GAAG,MAAM,yBAAS,IAAI,CAAC,IAAd,EAAoB,OAApB,CAAvB;AACA,UAAM,KAAK,GAAG,IAAI,CAAC,IAAL,CAAU,QAAV,CAAmB,MAAnB,KAA8B,IAAI,CAAC,IAAL,CAAU,QAAV,CAAmB,MAAnB,CAA5C;AACA,IAAA,IAAI,IAAI,KAAK,GAAG,gCAAiB,MAAM,CAAC,IAAP,CAAY,QAAZ,CAAD,CAAwB,QAAxB,CAAiC,KAAjC,CAAhB,CAAH,GAA8D,SAAS,CAAC,MAAM,yBAAS,IAAI,CAAC,IAAd,EAAoB,OAApB,CAAP,CAApF;AACA,IAAA,IAAI,IAAI,MAAR;AACA,IAAA,IAAI,CAAC,IAAL,CAAU,IAAV;AAEA,IAAA,cAAc,CAAC,IAAf,CAAoB,MAAM,yCAAkB,kBAAlB,EAAsC,IAAI,CAAC,cAA3C,EAA2D,OAA3D,EAAoE,IAAI,CAAC,QAAzE,CAA1B;AACA,IAAA,gBAAgB,CAAC,IAAjB,CAAsB,aAAa,CAAC,IAAI,CAAC,cAAN,CAAnC;AACA,IAAA,OAAO;AACR;;AAED,QAAM,MAAM,GAAG,MAAM,CAAC,WAAP,CAAmB,CAAC,IAAK,IAAI,gBAAgB,CAAC,MAA3B,IAAsC,CAAzD,CAAf;AACA,MAAI,MAAM,GAAG,CAAb;AACA,EAAA,MAAM,CAAC,aAAP,CAAqB,mBAArB,EAA0C,MAA1C;AACA,EAAA,MAAM,IAAI,CAAV;AACA,EAAA,MAAM,CAAC,aAAP,CAAqB,gBAAgB,CAAC,MAAtC,EAA8C,MAA9C;AACA,EAAA,MAAM,IAAI,CAAV;;AAEA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,gBAAgB,CAAC,MAArC,EAA6C,CAAC,EAA9C,EAAkD;AAChD,UAAM,UAAU,GAAG,gBAAgB,CAAC,CAAD,CAAnC;AACA,IAAA,MAAM,CAAC,aAAP,CAAqB,UAArB,EAAiC,MAAjC;AACA,IAAA,MAAM,IAAI,CAAV;AACA,IAAA,MAAM,CAAC,aAAP,CAAqB,CAArB,EAAwB,MAAxB;AACA,IAAA,MAAM,IAAI,CAAV;AACA,IAAA,MAAM,CAAC,aAAP;AAAqB;AAAkB,KAAC,EAAD,EAAK,EAAL,EAAS,EAAT,EAAa,EAAb,EAAiB,QAAjB,CAA0B,UAA1B,IAAwC,CAAxC,GAA4C,CAAnF,EAAsF,MAAtF;AACA,IAAA,MAAM,IAAI,CAAV;AACD;;AAED,QAAM,IAAI,GAAG,yBAAyB,gCAAgB,MAAM,CAAC,QAAP,CAAgB,KAAhB,CAAhB,CAAuC,MAA7E;AACA,QAAM,IAAI,GAAG,KAAK,CACf,MADU,CACH,IADG,EAEV,MAFU,CAEH,IAFG,EAGV,MAHU,CAGH,cAHG,EAIV,IAJU,CAIL,MAJK,CAAb;AAMA,EAAA,QAAQ,CAAC,WAAT,CAAqB,GAArB,CAAyB,qBAAzB,EAAgD,IAAhD;AACA,QAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAT,CAAqB,IAArB,CAAvB;AACA,QAAM,2BAAW,QAAX,EAAqB,IAArB,CAAN;AACA,QAAM,yBAAK,SAAL,EAAgB,CAAC,WAAD,EAAc,OAAd,CAAhB,CAAN;AACA,QAAM,yBAAK,KAAL,EAAY,CAAC,IAAD,EAAO,QAAP,EAAiB,IAAjB,EAAuB,OAAvB,CAAZ,CAAN;AACA,QAAM,yBAAK,SAAL,EAAgB,CAAC,SAAD,EAAY,OAAZ,CAAhB,CAAN;AAEA,SAAO,IAAP;AACD;;AAED,SAAS,0BAAT,CAAoC,IAApC,EAAgD;AAC9C,MAAI,MAAM,GAAG,EAAb;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,IAAI,CAAC,MAAzB,EAAiC,CAAC,EAAlC,EAAsC;AACpC,QAAI,IAAI,CAAC,CAAD,CAAJ,KAAY,IAAZ,IAAoB,IAAI,CAAC,CAAD,CAAJ,KAAY,GAAhC,IAAuC,IAAI,CAAC,CAAD,CAAJ,KAAY,GAAnD,IAA0D,IAAI,CAAC,CAAD,CAAJ,KAAY,IAA1E,EAAgF;AAC9E,MAAA,MAAM,IAAI,KAAK,IAAI,CAAC,CAAD,CAAG,EAAtB;AACD,KAFD,MAGK,IAAI,IAAI,CAAC,CAAD,CAAJ,KAAY,IAAhB,EAAsB,CACzB;AACD,KAFI,MAGA,IAAI,IAAI,CAAC,UAAL,CAAgB,CAAhB,KAAsB,IAA1B,EAAgC;AACnC,MAAA,MAAM,IAAI,IAAI,CAAC,CAAD,CAAd;AACD,KAFI,MAGA;AACH,MAAA,MAAM,IAAI,MAAM,IAAI,CAAC,WAAL,CAAiB,CAAjB,CAAmB,GAAnC;AACD;AACF;;AACD,SAAO,MAAP;AACD;;AAED,SAAS,SAAT,CAAmB,IAAnB,EAA+B;AAC7B,SAAO;;;;;;;;;;;;;;;;;;EAkBP,gCAAgB,aAAa,MAAM,CAAC,IAAP,CAAY,0BAA0B,CAAC,IAAD,CAAtC,EAA8C,QAA9C,CAAuD,KAAvD,EAA8D,WAA9D,EAAb,GAA2F,IAA3G,CAAgH,EAlBhH,CAD6B,CAoB7B;AACD;;AAED,SAAS,aAAT,CAAuB,cAAvB,EAA6C;AAC3C,QAAM,MAAM,GAAG,WAAW,CAAC,cAAD,CAA1B;;AACA,MAAI,MAAM,IAAI,IAAd,EAAoB;AAClB,UAAM,IAAI,KAAJ,CAAU,oCAAoC,cAAc,EAA5D,CAAN;AACD;;AACD,SAAO,MAAP;AACD,C,CAED;;;AACA,MAAM,WAAW,GAAQ;AACvB,EAAA,KAAK,EAAE,CADgB;AAEvB,EAAA,KAAK,EAAE,CAFgB;AAGvB,EAAA,KAAK,EAAE,CAHgB;AAIvB,EAAA,KAAK,EAAE,CAJgB;AAKvB,EAAA,KAAK,EAAE,CALgB;AAMvB,EAAA,KAAK,EAAE,CANgB;AAOvB,EAAA,KAAK,EAAE,CAPgB;AAQvB,EAAA,KAAK,EAAE,CARgB;AASvB,EAAA,KAAK,EAAE,CATgB;AAUvB,EAAA,KAAK,EAAE,CAVgB;AAWvB,EAAA,KAAK,EAAE,EAXgB;AAYvB,EAAA,KAAK,EAAE,EAZgB;AAavB,EAAA,KAAK,EAAE,EAbgB;AAcvB,EAAA,KAAK,EAAE,EAdgB;AAevB,EAAA,KAAK,EAAE,EAfgB;AAgBvB,EAAA,KAAK,EAAE,EAhBgB;AAiBvB,EAAA,EAAE,EAAE,EAjBmB;AAkBvB,EAAA,KAAK,EAAE,EAlBgB;AAmBvB,EAAA,KAAK,EAAE,EAnBgB;AAoBvB,EAAA,KAAK,EAAE,EApBgB;AAqBvB,EAAA,KAAK,EAAE,EArBgB;AAsBvB,EAAA,KAAK,EAAE,EAtBgB;AAuBvB,EAAA,KAAK,EAAE,EAvBgB;AAwBvB,EAAA,KAAK,EAAE,EAxBgB;AAyBvB,EAAA,KAAK,EAAE,EAzBgB;AA0BvB,EAAA,KAAK,EAAE,EA1BgB;AA2BvB,EAAA,KAAK,EAAE,EA3BgB;AA4BvB,EAAA,KAAK,EAAE,EA5BgB;AA6BvB,EAAA,KAAK,EAAE,EA7BgB;AA8BvB,EAAA,GAAG,EAAE,EA9BkB;AA+BvB,EAAA,KAAK,EAAE,EA/BgB;AAgCvB,EAAA,KAAK,EAAE,EAhCgB;AAiCvB,EAAA,KAAK,EAAE,EAjCgB;AAkCvB,EAAA,KAAK,EAAE,EAlCgB;AAmCvB,EAAA,KAAK,EAAE,EAnCgB;AAoCvB,EAAA,EAAE,EAAE,EApCmB;AAqCvB,EAAA,KAAK,EAAE,EArCgB;AAsCvB,EAAA,KAAK,EAAE,EAtCgB;AAuCvB,EAAA,KAAK,EAAE,EAvCgB;AAwCvB,EAAA,KAAK,EAAE,EAxCgB;AAyCvB,EAAA,KAAK,EAAE,EAzCgB;AA0CvB,EAAA,KAAK,EAAE,EA1CgB;AA2CvB,EAAA,KAAK,EAAE,EA3CgB;AA4CvB,EAAA,KAAK,EAAE,EA5CgB;AA6CvB,EAAA,KAAK,EAAE,EA7CgB;AA8CvB,EAAA,KAAK,EAAE,EA9CgB;AA+CvB,EAAA,EAAE,EAAE,EA/CmB;AAgDvB,EAAA,KAAK,EAAE,EAhDgB;AAiDvB,EAAA,KAAK,EAAE,EAjDgB;AAkDvB,EAAA,KAAK,EAAE,EAlDgB;AAmDvB,EAAA,KAAK,EAAE,EAnDgB;AAoDvB,EAAA,KAAK,EAAE,EApDgB;AAqDvB,EAAA,KAAK,EAAE,EArDgB;AAsDvB,EAAA,KAAK,EAAE,EAtDgB;AAuDvB,EAAA,KAAK,EAAE,EAvDgB;AAwDvB,EAAA,KAAK,EAAE,EAxDgB;AAyDvB,EAAA,EAAE,EAAE,EAzDmB;AA0DvB,EAAA,EAAE,EAAE,EA1DmB;AA2DvB,EAAA,EAAE,EAAE,EA3DmB;AA4DvB,EAAA,KAAK,EAAE,EA5DgB;AA6DvB,EAAA,EAAE,EAAE,EA7DmB;AA8DvB,gBAAc,EA9DS;AA+DvB,EAAA,KAAK,EAAE,EA/DgB;AAgEvB,EAAA,KAAK,EAAE,EAhEgB;AAiEvB,EAAA,KAAK,EAAE,EAjEgB;AAkEvB,EAAA,KAAK,EAAE,EAlEgB;AAmEvB,EAAA,MAAM,EAAE,EAnEe;AAoEvB,EAAA,KAAK,EAAE,EApEgB;AAqEvB,EAAA,MAAM,EAAE,EArEe;AAsEvB,EAAA,KAAK,EAAE,EAtEgB;AAuEvB,EAAA,KAAK,EAAE,EAvEgB;AAwEvB,EAAA,EAAE,EAAE,EAxEmB;AAyEvB,EAAA,KAAK,EAAE,EAzEgB;AA0EvB,EAAA,KAAK,EAAE,EA1EgB;AA2EvB,EAAA,KAAK,EAAE,EA3EgB;AA4EvB,EAAA,KAAK,EAAE,EA5EgB;AA6EvB,EAAA,KAAK,EAAE,GA7EgB;AA8EvB,EAAA,KAAK,EAAE,GA9EgB;AA+EvB,EAAA,KAAK,EAAE,GA/EgB;AAgFvB,EAAA,EAAE,EAAE,GAhFmB;AAiFvB,EAAA,KAAK,EAAE,GAjFgB;AAkFvB,EAAA,EAAE,EAAE,GAlFmB;AAmFvB,EAAA,KAAK,EAAE,GAnFgB;AAoFvB,EAAA,EAAE,EAAE,GApFmB;AAqFvB,EAAA,KAAK,EAAE;AArFgB,CAAzB,C","sourcesContent":["import { exec, log } from \"builder-util\"\nimport { PlatformPackager } from \"app-builder-lib\"\nimport { getLicenseFiles } from \"app-builder-lib/out/util/license\"\nimport { outputFile, readFile } from \"fs-extra\"\nimport { serializeString } from \"./dmgUtil\"\nimport { getLicenseButtons, getLicenseButtonsFile } from \"./licenseButtons\"\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\nexport async function addLicenseToDmg(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":""}
|
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().safeLoad)(
|
|
100
|
+
const fileData = (0, _jsYaml().safeLoad)(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 { 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":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dmg-builder",
|
|
3
|
-
"version": "22.
|
|
3
|
+
"version": "22.9.1",
|
|
4
4
|
"main": "out/dmgUtil.js",
|
|
5
5
|
"author": "Vladimir Krivosheev",
|
|
6
6
|
"license": "MIT",
|
|
@@ -13,16 +13,16 @@
|
|
|
13
13
|
"vendor"
|
|
14
14
|
],
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"app-builder-lib": "22.
|
|
17
|
-
"builder-util": "22.
|
|
18
|
-
"fs-extra": "^9.0.
|
|
19
|
-
"iconv-lite": "^0.
|
|
16
|
+
"app-builder-lib": "22.9.1",
|
|
17
|
+
"builder-util": "22.9.1",
|
|
18
|
+
"fs-extra": "^9.0.1",
|
|
19
|
+
"iconv-lite": "^0.6.2",
|
|
20
20
|
"js-yaml": "^3.14.0",
|
|
21
21
|
"sanitize-filename": "^1.6.3"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@types/fs-extra": "^9.0.1",
|
|
25
|
-
"@types/js-yaml": "^3.12.
|
|
25
|
+
"@types/js-yaml": "^3.12.5",
|
|
26
26
|
"temp-file": "^3.3.7"
|
|
27
27
|
},
|
|
28
28
|
"typings": "./out/dmg.d.ts"
|