app-builder-lib 26.13.0 → 26.13.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.
@@ -1 +1 @@
1
- {"version":3,"file":"winPackager.js","sourceRoot":"","sources":["../src/winPackager.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arch, CopyFileTransformer, exists, FileTransformer, InvalidConfigurationError, log, walk } from \"builder-util\"\nimport { Nullish } from \"builder-util-runtime\"\nimport { isCI } from \"ci-info\"\nimport { createHash } from \"crypto\"\nimport { readdir } from \"fs/promises\"\nimport { Lazy } from \"lazy-val\"\nimport * as path from \"path\"\nimport { readAsarHeader } from \"./asar/asar\"\nimport { SignManager } from \"./codeSign/signManager\"\nimport { signWindows, WindowsSignOptions } from \"./codeSign/windowsCodeSign\"\nimport { WindowsSignAzureManager } from \"./codeSign/windowsSignAzureManager\"\nimport { FileCodeSigningInfo, WindowsSignToolManager } from \"./codeSign/windowsSignToolManager\"\nimport { AfterPackContext } from \"./configuration\"\nimport { DIR_TARGET, Platform, Target } from \"./core\"\nimport { RequestedExecutionLevel, WindowsConfiguration } from \"./options/winOptions\"\nimport { Packager } from \"./packager\"\nimport { chooseNotNull, PlatformPackager } from \"./platformPackager\"\nimport AppXTarget from \"./targets/AppxTarget\"\nimport MsiTarget from \"./targets/MsiTarget\"\nimport MsiWrappedTarget from \"./targets/MsiWrappedTarget\"\nimport { NsisTarget } from \"./targets/nsis/NsisTarget\"\nimport { AppPackageHelper, CopyElevateHelper } from \"./targets/nsis/nsisUtil\"\nimport { WebInstallerTarget } from \"./targets/nsis/WebInstallerTarget\"\nimport { createCommonTarget } from \"./targets/targetFactory\"\nimport { BuildCacheManager, digest } from \"./util/cacheManager\"\nimport { isBuildCacheEnabled } from \"./util/flags\"\nimport { editWindowsResources, ResourceEditOptions } from \"./util/resEdit\"\nimport { time } from \"./util/timer\"\nimport { getWindowsVm, VmManager } from \"./vm/vm\"\n\nexport class WinPackager extends PlatformPackager<WindowsConfiguration> {\n _iconPath = new Lazy(() => this.getOrConvertIcon(\"ico\"))\n\n readonly vm = new Lazy<VmManager>(() => (process.platform === \"win32\" ? Promise.resolve(new VmManager()) : getWindowsVm(this.debugLogger)))\n\n readonly signingManager = new Lazy(async () => {\n let manager: SignManager\n if (this.platformSpecificBuildOptions.azureSignOptions != null) {\n manager = new WindowsSignAzureManager(this)\n } else {\n manager = new WindowsSignToolManager(this)\n }\n await manager.initialize()\n return manager\n })\n private signingQueue = Promise.resolve(true)\n\n get isForceCodeSigningVerification(): boolean {\n return this.platformSpecificBuildOptions.verifyUpdateCodeSignature !== false\n }\n\n constructor(info: Packager) {\n super(info, Platform.WINDOWS)\n }\n\n get defaultTarget(): Array<string> {\n return [\"nsis\"]\n }\n\n createTargets(targets: Array<string>, mapper: (name: string, factory: (outDir: string) => Target) => void): void {\n let copyElevateHelper: CopyElevateHelper | null\n const getCopyElevateHelper = () => {\n if (copyElevateHelper == null) {\n copyElevateHelper = new CopyElevateHelper()\n }\n return copyElevateHelper\n }\n\n let helper: AppPackageHelper | null\n const getHelper = () => {\n if (helper == null) {\n helper = new AppPackageHelper(getCopyElevateHelper())\n }\n return helper\n }\n\n for (const name of targets) {\n if (name === DIR_TARGET) {\n continue\n }\n\n if (name === \"nsis\" || name === \"portable\") {\n mapper(name, outDir => new NsisTarget(this, outDir, name, getHelper()))\n } else if (name === \"nsis-web\") {\n // package file format differs from nsis target\n mapper(name, outDir => new WebInstallerTarget(this, path.join(outDir, name), name, new AppPackageHelper(getCopyElevateHelper())))\n } else {\n const targetClass: typeof NsisTarget | typeof AppXTarget | typeof MsiTarget | typeof MsiWrappedTarget | null = (() => {\n switch (name) {\n case \"squirrel\":\n try {\n return require(\"electron-builder-squirrel-windows\").default\n } catch (e: any) {\n throw new InvalidConfigurationError(`Module electron-builder-squirrel-windows must be installed in addition to build Squirrel.Windows: ${e.stack || e}`)\n }\n\n case \"appx\":\n return require(\"./targets/AppxTarget\").default\n\n case \"msi\":\n return require(\"./targets/MsiTarget\").default\n\n case \"msiwrapped\":\n return require(\"./targets/MsiWrappedTarget\").default\n\n default:\n return null\n }\n })()\n\n mapper(name, outDir => (targetClass === null ? createCommonTarget(name, outDir, this) : new (targetClass as any)(this, outDir, name)))\n }\n }\n }\n\n getIconPath() {\n return this._iconPath.value\n }\n\n doGetCscPassword(): string | Nullish {\n return chooseNotNull(chooseNotNull(this.platformSpecificBuildOptions.signtoolOptions?.certificatePassword, process.env.WIN_CSC_KEY_PASSWORD), super.doGetCscPassword())\n }\n\n async signIf(file: string): Promise<boolean> {\n const logFields = { file: log.filePath(file) }\n if (!this.shouldSignFile(file, true)) {\n log.info(logFields, \"file signing skipped via signExts configuration\")\n return false\n }\n if (this.platformSpecificBuildOptions.signExecutable === false) {\n log.info(logFields, \"file signing skipped via signExecutable configuration\")\n return false\n }\n\n const promise = this.signingQueue.then(() => this._sign(file))\n this.signingQueue = promise.catch(e => {\n log.warn({ file: log.filePath(file), error: e.message }, \"signing failed for file, queue will continue to next file\")\n return false\n })\n return promise\n }\n\n private async _sign(file: string): Promise<boolean> {\n const signOptions: WindowsSignOptions = {\n path: file,\n options: this.platformSpecificBuildOptions,\n }\n\n const didSignSuccessfully = await signWindows(signOptions, this)\n if (!didSignSuccessfully && this.forceCodeSigning) {\n throw new InvalidConfigurationError(\n `App is not signed and \"forceCodeSigning\" is set to true, please ensure that code signing configuration is correct, please see https://electron.build/code-signing`\n )\n }\n return didSignSuccessfully\n }\n\n async signAndEditResources(file: string, arch: Arch, outDir: string, internalName?: string | null, requestedExecutionLevel?: RequestedExecutionLevel | null) {\n const appInfo = this.appInfo\n\n const files: Array<string> = []\n\n const versionStrings: Record<string, string> = {\n FileDescription: appInfo.productName,\n ProductName: appInfo.productName,\n LegalCopyright: appInfo.copyright,\n }\n\n if (internalName != null) {\n versionStrings.InternalName = internalName\n versionStrings.OriginalFilename = \"\"\n }\n\n if (appInfo.companyName != null) {\n versionStrings.CompanyName = appInfo.companyName\n }\n if (this.platformSpecificBuildOptions.legalTrademarks != null) {\n versionStrings.LegalTrademarks = this.platformSpecificBuildOptions.legalTrademarks\n }\n\n const iconPath = await this.getIconPath()\n if (iconPath != null) {\n files.push(iconPath)\n }\n\n const opts: ResourceEditOptions = {\n file,\n versionStrings,\n fileVersion: appInfo.shortVersion || appInfo.buildVersion,\n productVersion: appInfo.shortVersionWindows || appInfo.getVersionInWeirdWindowsForm(),\n requestedExecutionLevel,\n iconPath,\n }\n\n const config = this.config\n const cscInfoForCacheDigest = !isBuildCacheEnabled() || isCI || config.electronDist != null ? null : await (await this.signingManager.value).cscInfo.value\n let buildCacheManager: BuildCacheManager | null = null\n // resources editing doesn't change executable for the same input and executed quickly - no need to complicate\n if (cscInfoForCacheDigest != null) {\n const cscFile = (cscInfoForCacheDigest as FileCodeSigningInfo).file\n if (cscFile != null) {\n files.push(cscFile)\n }\n\n const timer = time(\"executable cache\")\n const hash = createHash(\"sha512\")\n hash.update(config.electronVersion || \"no electronVersion\")\n hash.update(JSON.stringify(this.platformSpecificBuildOptions))\n hash.update(JSON.stringify(opts))\n hash.update(this.platformSpecificBuildOptions.signtoolOptions?.certificateSha1 || \"no certificateSha1\")\n hash.update(this.platformSpecificBuildOptions.signtoolOptions?.certificateSubjectName || \"no subjectName\")\n\n const asar = path.resolve(this.getResourcesDir(outDir), \"app.asar\")\n if (await exists(asar)) {\n hash.update((await readAsarHeader(asar)).header)\n } else {\n hash.update(\"no asar\")\n }\n\n buildCacheManager = new BuildCacheManager(outDir, file, arch)\n if (await buildCacheManager.copyIfValid(await digest(hash, files))) {\n timer.end()\n return\n }\n timer.end()\n }\n\n const timer = time(\"resource-edit&sign\")\n await editWindowsResources(opts)\n await this.signIf(file)\n timer.end()\n\n if (buildCacheManager != null) {\n await buildCacheManager.save()\n }\n }\n\n private shouldSignFile(file: string, fallbackValue = false): boolean {\n const backwardCompatibility = file.endsWith(\".exe\")\n const signExts = this.platformSpecificBuildOptions.signExts\n if (!signExts?.length) {\n return backwardCompatibility || fallbackValue\n }\n // process patterns ( !exe => exclude .exe, .dll => include .dll )\n // we process first to allow literal negatives in case a filename matches \"help!.txt\" or similar\n if (signExts.some(ext => file.endsWith(ext))) {\n return true\n }\n // process negative patterns\n if (signExts.some(ext => ext.startsWith(\"!\") && file.endsWith(ext.substring(1)))) {\n return false\n }\n // if no explicit patterns matched, fall back to backward compatibility\n return backwardCompatibility || fallbackValue\n }\n\n protected createTransformerForExtraFiles(packContext: AfterPackContext): FileTransformer | null {\n if (this.platformSpecificBuildOptions.signAndEditExecutable === false || this.platformSpecificBuildOptions.signExecutable === false) {\n return null\n }\n\n return file => {\n if (this.shouldSignFile(file)) {\n const parentDir = path.dirname(file)\n if (parentDir !== packContext.appOutDir) {\n return new CopyFileTransformer(file => this.signIf(file))\n }\n }\n return null\n }\n }\n\n protected async signApp(packContext: AfterPackContext, isAsar: boolean): Promise<boolean> {\n const exeFileName = `${this.appInfo.productFilename}.exe`\n const signingDisabled = this.platformSpecificBuildOptions.signExecutable === false || this.platformSpecificBuildOptions.signAndEditExecutable === false\n if (signingDisabled && this.forceCodeSigning) {\n throw new InvalidConfigurationError(\n \"Signing is disabled (`signExecutable: false` or `signAndEditExecutable: false`) but `forceCodeSigning` is enabled. Remove one of these options.\"\n )\n }\n if (this.platformSpecificBuildOptions.signAndEditExecutable === false) {\n return false\n }\n\n const files = await readdir(packContext.appOutDir)\n for (const file of files) {\n if (file === exeFileName) {\n await this.signAndEditResources(\n path.join(packContext.appOutDir, exeFileName),\n packContext.arch,\n packContext.outDir,\n path.basename(exeFileName, \".exe\"),\n this.platformSpecificBuildOptions.requestedExecutionLevel\n )\n } else if (this.shouldSignFile(file)) {\n await this.signIf(path.join(packContext.appOutDir, file))\n }\n }\n\n if (!isAsar || this.platformSpecificBuildOptions.signExecutable === false) {\n return true\n }\n\n const filesPromise = (filepath: string[]) => {\n const outDir = path.join(packContext.appOutDir, ...filepath)\n return walk(outDir, (file, stat) => stat.isDirectory() || this.shouldSignFile(file))\n }\n const filesToSign = await Promise.all([filesPromise([\"resources\", \"app.asar.unpacked\"]), filesPromise([\"swiftshader\"])])\n for (const file of filesToSign.flat(1)) {\n await this.signIf(file)\n }\n\n return true\n }\n}\n"]}
1
+ {"version":3,"file":"winPackager.js","sourceRoot":"","sources":["../src/winPackager.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arch, CopyFileTransformer, exists, FileTransformer, InvalidConfigurationError, log, walk } from \"builder-util\"\nimport { Nullish } from \"builder-util-runtime\"\nimport { isCI } from \"ci-info\"\nimport { createHash } from \"crypto\"\nimport { readdir } from \"fs/promises\"\nimport { Lazy } from \"lazy-val\"\nimport * as path from \"path\"\nimport { readAsarHeader } from \"./asar/asar\"\nimport { SignManager } from \"./codeSign/signManager\"\nimport { signWindows, WindowsSignOptions } from \"./codeSign/windowsCodeSign\"\nimport { WindowsSignAzureManager } from \"./codeSign/windowsSignAzureManager\"\nimport { FileCodeSigningInfo, WindowsSignToolManager } from \"./codeSign/windowsSignToolManager\"\nimport { AfterPackContext } from \"./configuration\"\nimport { DIR_TARGET, Platform, Target } from \"./core\"\nimport { RequestedExecutionLevel, WindowsConfiguration } from \"./options/winOptions\"\nimport { Packager } from \"./packager\"\nimport { chooseNotNull, PlatformPackager } from \"./platformPackager\"\nimport AppXTarget from \"./targets/AppxTarget\"\nimport MsiTarget from \"./targets/MsiTarget\"\nimport MsiWrappedTarget from \"./targets/MsiWrappedTarget\"\nimport { NsisTarget } from \"./targets/nsis/NsisTarget\"\nimport { AppPackageHelper, CopyElevateHelper } from \"./targets/nsis/nsisUtil\"\nimport { WebInstallerTarget } from \"./targets/nsis/WebInstallerTarget\"\nimport { createCommonTarget } from \"./targets/targetFactory\"\nimport { BuildCacheManager, digest } from \"./util/cacheManager\"\nimport { isBuildCacheEnabled } from \"./util/flags\"\nimport { editWindowsResources, ResourceEditOptions } from \"./util/resEdit\"\nimport { time } from \"./util/timer\"\nimport { getWindowsVm, VmManager } from \"./vm/vm\"\n\nexport class WinPackager extends PlatformPackager<WindowsConfiguration> {\n _iconPath = new Lazy(() => this.getOrConvertIcon(\"ico\"))\n\n readonly vm = new Lazy<VmManager>(() => (process.platform === \"win32\" ? Promise.resolve(new VmManager()) : getWindowsVm(this.debugLogger)))\n\n readonly signingManager = new Lazy(async () => {\n let manager: SignManager\n if (this.platformSpecificBuildOptions.azureSignOptions != null) {\n manager = new WindowsSignAzureManager(this)\n } else {\n manager = new WindowsSignToolManager(this)\n }\n await manager.initialize()\n return manager\n })\n private signingQueue = Promise.resolve(true)\n\n get isForceCodeSigningVerification(): boolean {\n return this.platformSpecificBuildOptions.verifyUpdateCodeSignature !== false\n }\n\n constructor(info: Packager) {\n super(info, Platform.WINDOWS)\n }\n\n get defaultTarget(): Array<string> {\n return [\"nsis\"]\n }\n\n createTargets(targets: Array<string>, mapper: (name: string, factory: (outDir: string) => Target) => void): void {\n let copyElevateHelper: CopyElevateHelper | null\n const getCopyElevateHelper = () => {\n if (copyElevateHelper == null) {\n copyElevateHelper = new CopyElevateHelper()\n }\n return copyElevateHelper\n }\n\n let helper: AppPackageHelper | null\n const getHelper = () => {\n if (helper == null) {\n helper = new AppPackageHelper(getCopyElevateHelper())\n }\n return helper\n }\n\n for (const name of targets) {\n if (name === DIR_TARGET) {\n continue\n }\n\n if (name === \"nsis\" || name === \"portable\") {\n mapper(name, outDir => new NsisTarget(this, outDir, name, getHelper()))\n } else if (name === \"nsis-web\") {\n // package file format differs from nsis target\n mapper(name, outDir => new WebInstallerTarget(this, path.join(outDir, name), name, new AppPackageHelper(getCopyElevateHelper())))\n } else {\n const targetClass: typeof NsisTarget | typeof AppXTarget | typeof MsiTarget | typeof MsiWrappedTarget | null = (() => {\n switch (name) {\n case \"squirrel\":\n try {\n return require(\"electron-builder-squirrel-windows\").default\n } catch (e: any) {\n throw new InvalidConfigurationError(`Module electron-builder-squirrel-windows must be installed in addition to build Squirrel.Windows: ${e.stack || e}`)\n }\n\n case \"appx\":\n return require(\"./targets/AppxTarget\").default\n\n case \"msi\":\n return require(\"./targets/MsiTarget\").default\n\n case \"msiwrapped\":\n return require(\"./targets/MsiWrappedTarget\").default\n\n default:\n return null\n }\n })()\n\n mapper(name, outDir => (targetClass === null ? createCommonTarget(name, outDir, this) : new (targetClass as any)(this, outDir, name)))\n }\n }\n }\n\n getIconPath() {\n return this._iconPath.value\n }\n\n doGetCscPassword(): string | Nullish {\n return chooseNotNull(chooseNotNull(this.platformSpecificBuildOptions.signtoolOptions?.certificatePassword, process.env.WIN_CSC_KEY_PASSWORD), super.doGetCscPassword())\n }\n\n async signIf(file: string): Promise<boolean> {\n const logFields = { file: log.filePath(file) }\n if (!this.shouldSignFile(file, true)) {\n log.info(logFields, \"file signing skipped via signExts configuration\")\n return false\n }\n if (this.platformSpecificBuildOptions.signExecutable === false) {\n log.info(logFields, \"file signing skipped via signExecutable configuration\")\n return false\n }\n\n const promise = this.signingQueue.then(() => this._sign(file))\n this.signingQueue = promise.catch(e => {\n log.warn({ file: log.filePath(file), error: e.message }, \"signing failed for file, queue will continue to next file\")\n return false\n })\n return promise\n }\n\n private async _sign(file: string): Promise<boolean> {\n const signOptions: WindowsSignOptions = {\n path: file,\n options: this.platformSpecificBuildOptions,\n }\n\n const didSignSuccessfully = await signWindows(signOptions, this)\n if (!didSignSuccessfully && this.forceCodeSigning) {\n throw new InvalidConfigurationError(\n `App is not signed and \"forceCodeSigning\" is set to true, please ensure that code signing configuration is correct, please see https://electron.build/code-signing`\n )\n }\n return didSignSuccessfully\n }\n\n async signAndEditResources(file: string, arch: Arch, outDir: string, internalName?: string | null, requestedExecutionLevel?: RequestedExecutionLevel | null) {\n const appInfo = this.appInfo\n\n const files: Array<string> = []\n\n const versionStrings: Record<string, string> = {\n FileDescription: appInfo.productName,\n ProductName: appInfo.productName,\n LegalCopyright: appInfo.copyright,\n }\n\n if (internalName != null) {\n versionStrings.InternalName = internalName\n versionStrings.OriginalFilename = \"\"\n }\n\n if (appInfo.companyName != null) {\n versionStrings.CompanyName = appInfo.companyName\n }\n if (this.platformSpecificBuildOptions.legalTrademarks != null) {\n versionStrings.LegalTrademarks = this.platformSpecificBuildOptions.legalTrademarks\n }\n\n const iconPath = await this.getIconPath()\n if (iconPath != null) {\n files.push(iconPath)\n }\n\n const opts: ResourceEditOptions = {\n file,\n versionStrings,\n fileVersion: appInfo.shortVersion || appInfo.buildVersion,\n productVersion: appInfo.shortVersionWindows || appInfo.getVersionInWeirdWindowsForm(),\n requestedExecutionLevel,\n iconPath,\n }\n\n const config = this.config\n const cscInfoForCacheDigest = !isBuildCacheEnabled() || isCI || config.electronDist != null ? null : await (await this.signingManager.value).cscInfo.value\n let buildCacheManager: BuildCacheManager | null = null\n // resources editing doesn't change executable for the same input and executed quickly - no need to complicate\n if (cscInfoForCacheDigest != null) {\n const cscFile = (cscInfoForCacheDigest as FileCodeSigningInfo).file\n if (cscFile != null) {\n files.push(cscFile)\n }\n\n const timer = time(\"executable cache\")\n const hash = createHash(\"sha512\")\n hash.update(config.electronVersion || \"no electronVersion\")\n hash.update(JSON.stringify(this.platformSpecificBuildOptions))\n hash.update(JSON.stringify(opts))\n hash.update(this.platformSpecificBuildOptions.signtoolOptions?.certificateSha1 || \"no certificateSha1\")\n hash.update(this.platformSpecificBuildOptions.signtoolOptions?.certificateSubjectName || \"no subjectName\")\n\n const asar = path.resolve(this.getResourcesDir(outDir), \"app.asar\")\n if (await exists(asar)) {\n hash.update((await readAsarHeader(asar)).header)\n } else {\n hash.update(\"no asar\")\n }\n\n buildCacheManager = new BuildCacheManager(outDir, file, arch)\n if (await buildCacheManager.copyIfValid(await digest(hash, files))) {\n timer.end()\n return\n }\n timer.end()\n }\n\n const timer = time(\"resource-edit&sign\")\n await editWindowsResources(opts)\n await this.signIf(file)\n timer.end()\n\n if (buildCacheManager != null) {\n await buildCacheManager.save()\n }\n }\n\n private shouldSignFile(file: string, fallbackValue = false): boolean {\n const isExe = file.endsWith(\".exe\")\n const signExts = this.platformSpecificBuildOptions.signExts\n if (!signExts?.length) {\n return isExe || fallbackValue\n }\n // process patterns ( !exe => exclude .exe, .dll => include .dll )\n // we process first to allow literal negatives in case a filename matches \"help!.txt\" or similar\n if (signExts.some(ext => file.endsWith(ext))) {\n return true\n }\n // process negative patterns\n if (signExts.some(ext => ext.startsWith(\"!\") && file.endsWith(ext.substring(1)))) {\n return false\n }\n return isExe || fallbackValue\n }\n\n protected createTransformerForExtraFiles(packContext: AfterPackContext): FileTransformer | null {\n if (this.platformSpecificBuildOptions.signAndEditExecutable === false || this.platformSpecificBuildOptions.signExecutable === false) {\n return null\n }\n\n return file => {\n if (this.shouldSignFile(file)) {\n const parentDir = path.dirname(file)\n if (parentDir !== packContext.appOutDir) {\n return new CopyFileTransformer(file => this.signIf(file))\n }\n }\n return null\n }\n }\n\n protected async signApp(packContext: AfterPackContext, isAsar: boolean): Promise<boolean> {\n const exeFileName = `${this.appInfo.productFilename}.exe`\n const signingDisabled = this.platformSpecificBuildOptions.signExecutable === false || this.platformSpecificBuildOptions.signAndEditExecutable === false\n if (signingDisabled && this.forceCodeSigning) {\n throw new InvalidConfigurationError(\n \"Signing is disabled (`signExecutable: false` or `signAndEditExecutable: false`) but `forceCodeSigning` is enabled. Remove one of these options.\"\n )\n }\n if (this.platformSpecificBuildOptions.signAndEditExecutable === false) {\n log.info(\n { exe: log.filePath(path.join(packContext.appOutDir, exeFileName)) },\n \"executable resource editing and code signing skipped — signAndEditExecutable is false. To skip only code signing while keeping icon and metadata applied, use signExecutable: false instead.\"\n )\n return false\n }\n\n const files = await readdir(packContext.appOutDir)\n for (const file of files) {\n if (file === exeFileName) {\n await this.signAndEditResources(\n path.join(packContext.appOutDir, exeFileName),\n packContext.arch,\n packContext.outDir,\n path.basename(exeFileName, \".exe\"),\n this.platformSpecificBuildOptions.requestedExecutionLevel\n )\n } else if (this.shouldSignFile(file)) {\n await this.signIf(path.join(packContext.appOutDir, file))\n }\n }\n\n if (!isAsar || this.platformSpecificBuildOptions.signExecutable === false) {\n return true\n }\n\n const filesToSign = await Promise.all([\n this.walkSignableFiles(packContext.appOutDir, \"resources\", \"app.asar.unpacked\"),\n // Note: The `swiftshader` directory is absent in modern electron versions. `swiftshader/` held Chromium's legacy SwiftShader GL fallback (libEGL.dll / libGLESv2.dll), removed in Chromium 102 (Electron 19+) in favor of SwANGLE (ANGLE + SwiftShader Vulkan). This is kept here only for backwards compat with older Electron; `walk` no-ops on a missing dir (readdir ENOENT is swallowed), so this is harmless when the directory is absent.\n this.walkSignableFiles(packContext.appOutDir, \"swiftshader\"),\n ])\n for (const file of filesToSign.flat(1)) {\n await this.signIf(file)\n }\n\n return true\n }\n\n private walkSignableFiles(baseDir: string, ...subpath: string[]): Promise<string[]> {\n return walk(path.join(baseDir, ...subpath), (file, stat) => stat.isDirectory() || this.shouldSignFile(file))\n }\n}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "app-builder-lib",
3
3
  "description": "electron-builder lib",
4
- "version": "26.13.0",
4
+ "version": "26.13.1",
5
5
  "main": "out/index.js",
6
6
  "files": [
7
7
  "out",
@@ -47,7 +47,6 @@
47
47
  "bugs": "https://github.com/electron-userland/electron-builder/issues",
48
48
  "homepage": "https://github.com/electron-userland/electron-builder",
49
49
  "dependencies": {
50
- "@develar/schema-utils": "~2.6.5",
51
50
  "@electron/asar": "3.4.1",
52
51
  "@electron/fuses": "^1.8.0",
53
52
  "@electron/get": "^3.0.0",
@@ -58,6 +57,7 @@
58
57
  "@malept/flatpak-bundler": "^0.4.0",
59
58
  "@types/fs-extra": "9.0.13",
60
59
  "@peculiar/webcrypto": "^1.7.1",
60
+ "ajv": "^8.18.0",
61
61
  "asn1js": "^3.0.10",
62
62
  "async-exit-hook": "^2.0.1",
63
63
  "chromium-pickle-js": "^0.2.0",
@@ -85,8 +85,8 @@
85
85
  "unzipper": "^0.12.3",
86
86
  "which": "^5.0.0",
87
87
  "builder-util": "26.13.0",
88
- "builder-util-runtime": "9.6.3",
89
- "electron-publish": "26.13.0"
88
+ "electron-publish": "26.13.0",
89
+ "builder-util-runtime": "9.6.3"
90
90
  },
91
91
  "///": "babel in devDependencies for proton tests",
92
92
  "devDependencies": {
@@ -120,12 +120,12 @@
120
120
  "@types/unzipper": "^0.10.11",
121
121
  "@types/which": "^3.0.4",
122
122
  "toml": "^3.0.0",
123
- "dmg-builder": "26.13.0",
124
- "electron-builder-squirrel-windows": "26.13.0"
123
+ "dmg-builder": "26.13.1",
124
+ "electron-builder-squirrel-windows": "26.13.1"
125
125
  },
126
126
  "peerDependencies": {
127
- "dmg-builder": "26.13.0",
128
- "electron-builder-squirrel-windows": "26.13.0"
127
+ "dmg-builder": "26.13.1",
128
+ "electron-builder-squirrel-windows": "26.13.1"
129
129
  },
130
130
  "//": "electron-builder-squirrel-windows and dmg-builder added as dev dep for tests (as otherwise `require` doesn't work using Yarn 2)",
131
131
  "typings": "./out/index.d.ts"
@@ -1,15 +1,27 @@
1
1
  #!/bin/bash
2
2
 
3
3
  # Delete the link to the binary
4
+ # update-alternatives --remove <name> <path>: 'path' must be the registered alternative binary,
5
+ # not the generic symlink — see https://man7.org/linux/man-pages/man1/update-alternatives.1.html
4
6
  if type update-alternatives >/dev/null 2>&1; then
5
- update-alternatives --remove '${executable}' '/usr/bin/${executable}'
7
+ update-alternatives --remove '${executable}' '/opt/${sanitizedProductName}/${executable}'
6
8
  else
7
9
  rm -f '/usr/bin/${executable}'
8
10
  fi
9
11
 
10
12
  APPARMOR_PROFILE_DEST='/etc/apparmor.d/${executable}'
11
13
 
12
- # Remove apparmor profile.
14
+ # Remove and unload apparmor profile.
13
15
  if [ -f "$APPARMOR_PROFILE_DEST" ]; then
16
+ # Unload the profile from the running kernel before deleting the file so the
17
+ # policy is not left enforced until the next reboot. Mirror the chroot guard
18
+ # used in the after-install script — live AppArmor operations are not
19
+ # meaningful inside a chroot.
20
+ # https://wiki.debian.org/AppArmor/HowToUse
21
+ if apparmor_status --enabled > /dev/null 2>&1; then
22
+ if ! { [ -x '/usr/bin/ischroot' ] && /usr/bin/ischroot; } && hash apparmor_parser 2>/dev/null; then
23
+ apparmor_parser --remove "$APPARMOR_PROFILE_DEST" || true
24
+ fi
25
+ fi
14
26
  rm -f "$APPARMOR_PROFILE_DEST"
15
27
  fi