update electron to v43
This commit is contained in:
parent
68ac0beedf
commit
fb6c8b6ee9
5385 changed files with 513060 additions and 123058 deletions
48
electron/node_modules/app-builder-lib/out/options/AppXOptions.d.ts
generated
vendored
48
electron/node_modules/app-builder-lib/out/options/AppXOptions.d.ts
generated
vendored
|
|
@ -1,7 +1,7 @@
|
|||
import { TargetSpecificOptions } from "../core";
|
||||
export interface AppXOptions extends TargetSpecificOptions {
|
||||
/**
|
||||
* The application id. Defaults to `identityName`. Can’t start with numbers.
|
||||
* The application id. Defaults to `identityName`. This string contains alpha-numeric fields separated by periods. Each field must begin with an ASCII alphabetic character.
|
||||
*/
|
||||
readonly applicationId?: string;
|
||||
/**
|
||||
|
|
@ -15,7 +15,7 @@ export interface AppXOptions extends TargetSpecificOptions {
|
|||
*/
|
||||
readonly displayName?: string | null;
|
||||
/**
|
||||
* The name. Corresponds to [Identity.Name](https://msdn.microsoft.com/en-us/library/windows/apps/br211441.aspx). Defaults to the [application name](/configuration/configuration#Metadata-name).
|
||||
* The name. Corresponds to [Identity.Name](https://msdn.microsoft.com/en-us/library/windows/apps/br211441.aspx). Defaults to the [application name](https://www.electron.build/configuration#metadata).
|
||||
*/
|
||||
readonly identityName?: string | null;
|
||||
/**
|
||||
|
|
@ -41,6 +41,40 @@ export interface AppXOptions extends TargetSpecificOptions {
|
|||
* Relative path to custom extensions xml to be included in an `appmanifest.xml`.
|
||||
*/
|
||||
readonly customExtensionsPath?: string;
|
||||
/**
|
||||
* The list of [capabilities](https://learn.microsoft.com/en-us/windows/uwp/packaging/app-capability-declarations) to be added to an `appmanifest.xml`.
|
||||
* The `runFullTrust` capability is obligatory for electron apps and will be auto added if not specified here.
|
||||
* Defaults to `['runFullTrust']` if omitted
|
||||
* Example: `['runFullTrust', 'privateNetworkClientServer', 'webcam']`
|
||||
*/
|
||||
readonly capabilities?: Array<string> | null;
|
||||
/**
|
||||
* (Advanced Option) Relative path to custom `appmanifest.xml` (file name doesn't matter, it'll be renamed) located in build resources directory.
|
||||
* Supports the following template macros:
|
||||
*
|
||||
* - ${publisher}
|
||||
* - ${publisherDisplayName}
|
||||
* - ${version}
|
||||
* - ${applicationId}
|
||||
* - ${identityName}
|
||||
* - ${executable}
|
||||
* - ${displayName}
|
||||
* - ${description}
|
||||
* - ${backgroundColor}
|
||||
* - ${logo}
|
||||
* - ${square150x150Logo}
|
||||
* - ${square44x44Logo}
|
||||
* - ${lockScreen}
|
||||
* - ${defaultTile}
|
||||
* - ${splashScreen}
|
||||
* - ${arch}
|
||||
* - ${resourceLanguages}
|
||||
* - ${capabilities}
|
||||
* - ${extensions}
|
||||
* - ${minVersion}
|
||||
* - ${maxVersionTested}
|
||||
*/
|
||||
readonly customManifestPath?: string;
|
||||
/**
|
||||
* Whether to overlay the app's name on top of tile images on the Start screen. Defaults to `false`. (https://docs.microsoft.com/en-us/uwp/schemas/appxpackage/uapmanifestschema/element-uap-shownameontiles) in the dependencies.
|
||||
* @default false
|
||||
|
|
@ -56,6 +90,16 @@ export interface AppXOptions extends TargetSpecificOptions {
|
|||
* @default false
|
||||
*/
|
||||
readonly setBuildNumber?: boolean;
|
||||
/**
|
||||
* Set the MinVersion field in the appx manifest.xml
|
||||
* @default arch === Arch.arm64 ? "10.0.16299.0" : "10.0.14316.0"
|
||||
*/
|
||||
readonly minVersion?: string | null;
|
||||
/**
|
||||
* Set the `MaxVersionTested` field in the appx manifest.xml
|
||||
* @default arch === Arch.arm64 ? "10.0.16299.0" : "10.0.14316.0"
|
||||
*/
|
||||
readonly maxVersionTested?: string | null;
|
||||
/** @private */
|
||||
readonly makeappxArgs?: Array<string> | null;
|
||||
}
|
||||
|
|
|
|||
2
electron/node_modules/app-builder-lib/out/options/AppXOptions.js.map
generated
vendored
2
electron/node_modules/app-builder-lib/out/options/AppXOptions.js.map
generated
vendored
|
|
@ -1 +1 @@
|
|||
{"version":3,"file":"AppXOptions.js","sourceRoot":"","sources":["../../src/options/AppXOptions.ts"],"names":[],"mappings":"","sourcesContent":["import { TargetSpecificOptions } from \"../core\"\n\nexport interface AppXOptions extends TargetSpecificOptions {\n /**\n * The application id. Defaults to `identityName`. Can’t start with numbers.\n */\n readonly applicationId?: string\n\n /**\n * The background color of the app tile. See [Visual Elements](https://msdn.microsoft.com/en-us/library/windows/apps/br211471.aspx).\n * @default #464646\n */\n readonly backgroundColor?: string | null\n\n /**\n * A friendly name that can be displayed to users. Corresponds to [Properties.DisplayName](https://msdn.microsoft.com/en-us/library/windows/apps/br211432.aspx).\n * Defaults to the application product name.\n */\n readonly displayName?: string | null\n\n /**\n * The name. Corresponds to [Identity.Name](https://msdn.microsoft.com/en-us/library/windows/apps/br211441.aspx). Defaults to the [application name](/configuration/configuration#Metadata-name).\n */\n readonly identityName?: string | null\n\n /**\n * The Windows Store publisher. Not used if AppX is build for testing. See [AppX Package Code Signing](#appx-package-code-signing) below.\n */\n readonly publisher?: string | null\n\n /**\n * A friendly name for the publisher that can be displayed to users. Corresponds to [Properties.PublisherDisplayName](https://msdn.microsoft.com/en-us/library/windows/apps/br211460.aspx).\n * Defaults to company name from the application metadata.\n */\n readonly publisherDisplayName?: string | null\n\n /**\n * The list of [supported languages](https://docs.microsoft.com/en-us/windows/uwp/globalizing/manage-language-and-region#specify-the-supported-languages-in-the-apps-manifest) that will be listed in the Windows Store.\n * The first entry (index 0) will be the default language.\n * Defaults to en-US if omitted.\n */\n readonly languages?: Array<string> | string | null\n\n /**\n * Whether to add auto launch extension. Defaults to `true` if [electron-winstore-auto-launch](https://github.com/felixrieseberg/electron-winstore-auto-launch) in the dependencies.\n */\n readonly addAutoLaunchExtension?: boolean\n\n /**\n * Relative path to custom extensions xml to be included in an `appmanifest.xml`.\n */\n readonly customExtensionsPath?: string\n\n /**\n * Whether to overlay the app's name on top of tile images on the Start screen. Defaults to `false`. (https://docs.microsoft.com/en-us/uwp/schemas/appxpackage/uapmanifestschema/element-uap-shownameontiles) in the dependencies.\n * @default false\n */\n readonly showNameOnTiles?: boolean\n\n /**\n * @private\n * @default false\n */\n readonly electronUpdaterAware?: boolean\n\n /**\n * Whether to set build number. See https://github.com/electron-userland/electron-builder/issues/3875\n * @default false\n */\n readonly setBuildNumber?: boolean\n\n /** @private */\n readonly makeappxArgs?: Array<string> | null\n}\n"]}
|
||||
{"version":3,"file":"AppXOptions.js","sourceRoot":"","sources":["../../src/options/AppXOptions.ts"],"names":[],"mappings":"","sourcesContent":["import { TargetSpecificOptions } from \"../core\"\n\nexport interface AppXOptions extends TargetSpecificOptions {\n /**\n * The application id. Defaults to `identityName`. This string contains alpha-numeric fields separated by periods. Each field must begin with an ASCII alphabetic character.\n */\n readonly applicationId?: string\n\n /**\n * The background color of the app tile. See [Visual Elements](https://msdn.microsoft.com/en-us/library/windows/apps/br211471.aspx).\n * @default #464646\n */\n readonly backgroundColor?: string | null\n\n /**\n * A friendly name that can be displayed to users. Corresponds to [Properties.DisplayName](https://msdn.microsoft.com/en-us/library/windows/apps/br211432.aspx).\n * Defaults to the application product name.\n */\n readonly displayName?: string | null\n\n /**\n * The name. Corresponds to [Identity.Name](https://msdn.microsoft.com/en-us/library/windows/apps/br211441.aspx). Defaults to the [application name](https://www.electron.build/configuration#metadata).\n */\n readonly identityName?: string | null\n\n /**\n * The Windows Store publisher. Not used if AppX is build for testing. See [AppX Package Code Signing](#appx-package-code-signing) below.\n */\n readonly publisher?: string | null\n\n /**\n * A friendly name for the publisher that can be displayed to users. Corresponds to [Properties.PublisherDisplayName](https://msdn.microsoft.com/en-us/library/windows/apps/br211460.aspx).\n * Defaults to company name from the application metadata.\n */\n readonly publisherDisplayName?: string | null\n\n /**\n * The list of [supported languages](https://docs.microsoft.com/en-us/windows/uwp/globalizing/manage-language-and-region#specify-the-supported-languages-in-the-apps-manifest) that will be listed in the Windows Store.\n * The first entry (index 0) will be the default language.\n * Defaults to en-US if omitted.\n */\n readonly languages?: Array<string> | string | null\n\n /**\n * Whether to add auto launch extension. Defaults to `true` if [electron-winstore-auto-launch](https://github.com/felixrieseberg/electron-winstore-auto-launch) in the dependencies.\n */\n readonly addAutoLaunchExtension?: boolean\n\n /**\n * Relative path to custom extensions xml to be included in an `appmanifest.xml`.\n */\n readonly customExtensionsPath?: string\n\n /**\n * The list of [capabilities](https://learn.microsoft.com/en-us/windows/uwp/packaging/app-capability-declarations) to be added to an `appmanifest.xml`.\n * The `runFullTrust` capability is obligatory for electron apps and will be auto added if not specified here.\n * Defaults to `['runFullTrust']` if omitted\n * Example: `['runFullTrust', 'privateNetworkClientServer', 'webcam']`\n */\n readonly capabilities?: Array<string> | null\n\n /**\n * (Advanced Option) Relative path to custom `appmanifest.xml` (file name doesn't matter, it'll be renamed) located in build resources directory.\n * Supports the following template macros:\n *\n * - ${publisher}\n * - ${publisherDisplayName}\n * - ${version}\n * - ${applicationId}\n * - ${identityName}\n * - ${executable}\n * - ${displayName}\n * - ${description}\n * - ${backgroundColor}\n * - ${logo}\n * - ${square150x150Logo}\n * - ${square44x44Logo}\n * - ${lockScreen}\n * - ${defaultTile}\n * - ${splashScreen}\n * - ${arch}\n * - ${resourceLanguages}\n * - ${capabilities}\n * - ${extensions}\n * - ${minVersion}\n * - ${maxVersionTested}\n */\n readonly customManifestPath?: string\n\n /**\n * Whether to overlay the app's name on top of tile images on the Start screen. Defaults to `false`. (https://docs.microsoft.com/en-us/uwp/schemas/appxpackage/uapmanifestschema/element-uap-shownameontiles) in the dependencies.\n * @default false\n */\n readonly showNameOnTiles?: boolean\n\n /**\n * @private\n * @default false\n */\n readonly electronUpdaterAware?: boolean\n\n /**\n * Whether to set build number. See https://github.com/electron-userland/electron-builder/issues/3875\n * @default false\n */\n readonly setBuildNumber?: boolean\n\n /**\n * Set the MinVersion field in the appx manifest.xml\n * @default arch === Arch.arm64 ? \"10.0.16299.0\" : \"10.0.14316.0\"\n */\n readonly minVersion?: string | null\n\n /**\n * Set the `MaxVersionTested` field in the appx manifest.xml\n * @default arch === Arch.arm64 ? \"10.0.16299.0\" : \"10.0.14316.0\"\n */\n readonly maxVersionTested?: string | null\n\n /** @private */\n readonly makeappxArgs?: Array<string> | null\n}\n"]}
|
||||
14
electron/node_modules/app-builder-lib/out/options/CommonWindowsInstallerConfiguration.js
generated
vendored
14
electron/node_modules/app-builder-lib/out/options/CommonWindowsInstallerConfiguration.js
generated
vendored
|
|
@ -1,8 +1,9 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.DesktopShortcutCreationPolicy = exports.getEffectiveOptions = void 0;
|
||||
exports.DesktopShortcutCreationPolicy = void 0;
|
||||
exports.getEffectiveOptions = getEffectiveOptions;
|
||||
const builder_util_1 = require("builder-util");
|
||||
const filename_1 = require("../util/filename");
|
||||
const filename_1 = require("builder-util/out/filename");
|
||||
function getEffectiveOptions(options, packager) {
|
||||
const appInfo = packager.appInfo;
|
||||
let menuCategory = null;
|
||||
|
|
@ -12,25 +13,24 @@ function getEffectiveOptions(options, packager) {
|
|||
if (companyName == null) {
|
||||
throw new builder_util_1.InvalidConfigurationError(`Please specify "author" in the application package.json — it is required because "menuCategory" is set to true.`);
|
||||
}
|
||||
menuCategory = filename_1.sanitizeFileName(companyName);
|
||||
menuCategory = (0, filename_1.sanitizeFileName)(companyName);
|
||||
}
|
||||
else {
|
||||
menuCategory = options.menuCategory
|
||||
.split(/[/\\]/)
|
||||
.map(it => filename_1.sanitizeFileName(it))
|
||||
.map(it => (0, filename_1.sanitizeFileName)(it))
|
||||
.join("\\");
|
||||
}
|
||||
}
|
||||
return {
|
||||
isPerMachine: options.perMachine === true,
|
||||
isAssisted: options.oneClick === false,
|
||||
shortcutName: builder_util_1.isEmptyOrSpaces(options.shortcutName) ? appInfo.sanitizedProductName : packager.expandMacro(options.shortcutName),
|
||||
shortcutName: (0, builder_util_1.isEmptyOrSpaces)(options.shortcutName) ? appInfo.sanitizedProductName : packager.expandMacro(options.shortcutName),
|
||||
isCreateDesktopShortcut: convertToDesktopShortcutCreationPolicy(options.createDesktopShortcut),
|
||||
isCreateStartMenuShortcut: options.createStartMenuShortcut !== false,
|
||||
menuCategory,
|
||||
};
|
||||
}
|
||||
exports.getEffectiveOptions = getEffectiveOptions;
|
||||
function convertToDesktopShortcutCreationPolicy(value) {
|
||||
if (value === false) {
|
||||
return DesktopShortcutCreationPolicy.NEVER;
|
||||
|
|
@ -47,5 +47,5 @@ var DesktopShortcutCreationPolicy;
|
|||
DesktopShortcutCreationPolicy[DesktopShortcutCreationPolicy["FRESH_INSTALL"] = 0] = "FRESH_INSTALL";
|
||||
DesktopShortcutCreationPolicy[DesktopShortcutCreationPolicy["ALWAYS"] = 1] = "ALWAYS";
|
||||
DesktopShortcutCreationPolicy[DesktopShortcutCreationPolicy["NEVER"] = 2] = "NEVER";
|
||||
})(DesktopShortcutCreationPolicy = exports.DesktopShortcutCreationPolicy || (exports.DesktopShortcutCreationPolicy = {}));
|
||||
})(DesktopShortcutCreationPolicy || (exports.DesktopShortcutCreationPolicy = DesktopShortcutCreationPolicy = {}));
|
||||
//# sourceMappingURL=CommonWindowsInstallerConfiguration.js.map
|
||||
|
|
@ -1 +1 @@
|
|||
{"version":3,"file":"CommonWindowsInstallerConfiguration.js","sourceRoot":"","sources":["../../src/options/CommonWindowsInstallerConfiguration.ts"],"names":[],"mappings":";;;AAAA,+CAAyE;AACzE,+CAAmD;AAqDnD,SAAgB,mBAAmB,CAAC,OAA4C,EAAE,QAAqB;IACrG,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;IAEhC,IAAI,YAAY,GAAkB,IAAI,CAAA;IACtC,IAAI,OAAO,CAAC,YAAY,IAAI,IAAI,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,EAAE;QAClE,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,EAAE;YACjC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAA;YAChD,IAAI,WAAW,IAAI,IAAI,EAAE;gBACvB,MAAM,IAAI,wCAAyB,CAAC,iHAAiH,CAAC,CAAA;aACvJ;YACD,YAAY,GAAG,2BAAgB,CAAC,WAAW,CAAC,CAAA;SAC7C;aAAM;YACL,YAAY,GAAG,OAAO,CAAC,YAAY;iBAChC,KAAK,CAAC,OAAO,CAAC;iBACd,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,2BAAgB,CAAC,EAAE,CAAC,CAAC;iBAC/B,IAAI,CAAC,IAAI,CAAC,CAAA;SACd;KACF;IAED,OAAO;QACL,YAAY,EAAE,OAAO,CAAC,UAAU,KAAK,IAAI;QACzC,UAAU,EAAE,OAAO,CAAC,QAAQ,KAAK,KAAK;QAEtC,YAAY,EAAE,8BAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC;QAC/H,uBAAuB,EAAE,sCAAsC,CAAC,OAAO,CAAC,qBAAqB,CAAC;QAC9F,yBAAyB,EAAE,OAAO,CAAC,uBAAuB,KAAK,KAAK;QACpE,YAAY;KACb,CAAA;AACH,CAAC;AA5BD,kDA4BC;AAED,SAAS,sCAAsC,CAAC,KAAmC;IACjF,IAAI,KAAK,KAAK,KAAK,EAAE;QACnB,OAAO,6BAA6B,CAAC,KAAK,CAAA;KAC3C;SAAM,IAAI,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,6BAA6B,CAAC,MAAM,CAAA;KAC5C;SAAM;QACL,OAAO,6BAA6B,CAAC,aAAa,CAAA;KACnD;AACH,CAAC;AAED,IAAY,6BAIX;AAJD,WAAY,6BAA6B;IACvC,mGAAa,CAAA;IACb,qFAAM,CAAA;IACN,mFAAK,CAAA;AACP,CAAC,EAJW,6BAA6B,GAA7B,qCAA6B,KAA7B,qCAA6B,QAIxC","sourcesContent":["import { InvalidConfigurationError, isEmptyOrSpaces } from \"builder-util\"\nimport { sanitizeFileName } from \"../util/filename\"\nimport { WinPackager } from \"../winPackager\"\n\nexport interface CommonWindowsInstallerConfiguration {\n readonly oneClick?: boolean\n\n /**\n * Whether to install per all users (per-machine).\n * @default false\n */\n readonly perMachine?: boolean\n\n /**\n * Whether to run the installed application after finish. For assisted installer corresponding checkbox will be removed.\n * @default true\n */\n readonly runAfterFinish?: boolean\n\n /**\n * Whether to create desktop shortcut. Set to `always` if to recreate also on reinstall (even if removed by user).\n * @default true\n */\n readonly createDesktopShortcut?: boolean | \"always\"\n\n /**\n * Whether to create start menu shortcut.\n * @default true\n */\n readonly createStartMenuShortcut?: boolean\n\n /**\n * Whether to create submenu for start menu shortcut and program files directory. If `true`, company name will be used. Or string value.\n * @default false\n */\n readonly menuCategory?: boolean | string\n\n /**\n * The name that will be used for all shortcuts. Defaults to the application name.\n */\n readonly shortcutName?: string | null\n}\n\nexport interface FinalCommonWindowsInstallerOptions {\n isAssisted: boolean\n isPerMachine: boolean\n\n shortcutName: string\n menuCategory: string | null\n\n isCreateDesktopShortcut: DesktopShortcutCreationPolicy\n isCreateStartMenuShortcut: boolean\n}\n\nexport function getEffectiveOptions(options: CommonWindowsInstallerConfiguration, packager: WinPackager): FinalCommonWindowsInstallerOptions {\n const appInfo = packager.appInfo\n\n let menuCategory: string | null = null\n if (options.menuCategory != null && options.menuCategory !== false) {\n if (options.menuCategory === true) {\n const companyName = packager.appInfo.companyName\n if (companyName == null) {\n throw new InvalidConfigurationError(`Please specify \"author\" in the application package.json — it is required because \"menuCategory\" is set to true.`)\n }\n menuCategory = sanitizeFileName(companyName)\n } else {\n menuCategory = options.menuCategory\n .split(/[/\\\\]/)\n .map(it => sanitizeFileName(it))\n .join(\"\\\\\")\n }\n }\n\n return {\n isPerMachine: options.perMachine === true,\n isAssisted: options.oneClick === false,\n\n shortcutName: isEmptyOrSpaces(options.shortcutName) ? appInfo.sanitizedProductName : packager.expandMacro(options.shortcutName),\n isCreateDesktopShortcut: convertToDesktopShortcutCreationPolicy(options.createDesktopShortcut),\n isCreateStartMenuShortcut: options.createStartMenuShortcut !== false,\n menuCategory,\n }\n}\n\nfunction convertToDesktopShortcutCreationPolicy(value: boolean | undefined | string): DesktopShortcutCreationPolicy {\n if (value === false) {\n return DesktopShortcutCreationPolicy.NEVER\n } else if (value === \"always\") {\n return DesktopShortcutCreationPolicy.ALWAYS\n } else {\n return DesktopShortcutCreationPolicy.FRESH_INSTALL\n }\n}\n\nexport enum DesktopShortcutCreationPolicy {\n FRESH_INSTALL,\n ALWAYS,\n NEVER,\n}\n"]}
|
||||
{"version":3,"file":"CommonWindowsInstallerConfiguration.js","sourceRoot":"","sources":["../../src/options/CommonWindowsInstallerConfiguration.ts"],"names":[],"mappings":";;;AAsDA,kDA4BC;AAlFD,+CAAyE;AACzE,wDAA4D;AAqD5D,SAAgB,mBAAmB,CAAC,OAA4C,EAAE,QAAqB;IACrG,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;IAEhC,IAAI,YAAY,GAAkB,IAAI,CAAA;IACtC,IAAI,OAAO,CAAC,YAAY,IAAI,IAAI,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;QACnE,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAClC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAA;YAChD,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;gBACxB,MAAM,IAAI,wCAAyB,CAAC,iHAAiH,CAAC,CAAA;YACxJ,CAAC;YACD,YAAY,GAAG,IAAA,2BAAgB,EAAC,WAAW,CAAC,CAAA;QAC9C,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,OAAO,CAAC,YAAY;iBAChC,KAAK,CAAC,OAAO,CAAC;iBACd,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAA,2BAAgB,EAAC,EAAE,CAAC,CAAC;iBAC/B,IAAI,CAAC,IAAI,CAAC,CAAA;QACf,CAAC;IACH,CAAC;IAED,OAAO;QACL,YAAY,EAAE,OAAO,CAAC,UAAU,KAAK,IAAI;QACzC,UAAU,EAAE,OAAO,CAAC,QAAQ,KAAK,KAAK;QAEtC,YAAY,EAAE,IAAA,8BAAe,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC;QAC/H,uBAAuB,EAAE,sCAAsC,CAAC,OAAO,CAAC,qBAAqB,CAAC;QAC9F,yBAAyB,EAAE,OAAO,CAAC,uBAAuB,KAAK,KAAK;QACpE,YAAY;KACb,CAAA;AACH,CAAC;AAED,SAAS,sCAAsC,CAAC,KAAmC;IACjF,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACpB,OAAO,6BAA6B,CAAC,KAAK,CAAA;IAC5C,CAAC;SAAM,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,6BAA6B,CAAC,MAAM,CAAA;IAC7C,CAAC;SAAM,CAAC;QACN,OAAO,6BAA6B,CAAC,aAAa,CAAA;IACpD,CAAC;AACH,CAAC;AAED,IAAY,6BAIX;AAJD,WAAY,6BAA6B;IACvC,mGAAa,CAAA;IACb,qFAAM,CAAA;IACN,mFAAK,CAAA;AACP,CAAC,EAJW,6BAA6B,6CAA7B,6BAA6B,QAIxC","sourcesContent":["import { InvalidConfigurationError, isEmptyOrSpaces } from \"builder-util\"\nimport { sanitizeFileName } from \"builder-util/out/filename\"\nimport { WinPackager } from \"../winPackager\"\n\nexport interface CommonWindowsInstallerConfiguration {\n readonly oneClick?: boolean\n\n /**\n * Whether to install per all users (per-machine).\n * @default false\n */\n readonly perMachine?: boolean\n\n /**\n * Whether to run the installed application after finish. For assisted installer corresponding checkbox will be removed.\n * @default true\n */\n readonly runAfterFinish?: boolean\n\n /**\n * Whether to create desktop shortcut. Set to `always` if to recreate also on reinstall (even if removed by user).\n * @default true\n */\n readonly createDesktopShortcut?: boolean | \"always\"\n\n /**\n * Whether to create start menu shortcut.\n * @default true\n */\n readonly createStartMenuShortcut?: boolean\n\n /**\n * Whether to create submenu for start menu shortcut and program files directory. If `true`, company name will be used. Or string value.\n * @default false\n */\n readonly menuCategory?: boolean | string\n\n /**\n * The name that will be used for all shortcuts. Defaults to the application name.\n */\n readonly shortcutName?: string | null\n}\n\nexport interface FinalCommonWindowsInstallerOptions {\n isAssisted: boolean\n isPerMachine: boolean\n\n shortcutName: string\n menuCategory: string | null\n\n isCreateDesktopShortcut: DesktopShortcutCreationPolicy\n isCreateStartMenuShortcut: boolean\n}\n\nexport function getEffectiveOptions(options: CommonWindowsInstallerConfiguration, packager: WinPackager): FinalCommonWindowsInstallerOptions {\n const appInfo = packager.appInfo\n\n let menuCategory: string | null = null\n if (options.menuCategory != null && options.menuCategory !== false) {\n if (options.menuCategory === true) {\n const companyName = packager.appInfo.companyName\n if (companyName == null) {\n throw new InvalidConfigurationError(`Please specify \"author\" in the application package.json — it is required because \"menuCategory\" is set to true.`)\n }\n menuCategory = sanitizeFileName(companyName)\n } else {\n menuCategory = options.menuCategory\n .split(/[/\\\\]/)\n .map(it => sanitizeFileName(it))\n .join(\"\\\\\")\n }\n }\n\n return {\n isPerMachine: options.perMachine === true,\n isAssisted: options.oneClick === false,\n\n shortcutName: isEmptyOrSpaces(options.shortcutName) ? appInfo.sanitizedProductName : packager.expandMacro(options.shortcutName),\n isCreateDesktopShortcut: convertToDesktopShortcutCreationPolicy(options.createDesktopShortcut),\n isCreateStartMenuShortcut: options.createStartMenuShortcut !== false,\n menuCategory,\n }\n}\n\nfunction convertToDesktopShortcutCreationPolicy(value: boolean | undefined | string): DesktopShortcutCreationPolicy {\n if (value === false) {\n return DesktopShortcutCreationPolicy.NEVER\n } else if (value === \"always\") {\n return DesktopShortcutCreationPolicy.ALWAYS\n } else {\n return DesktopShortcutCreationPolicy.FRESH_INSTALL\n }\n}\n\nexport enum DesktopShortcutCreationPolicy {\n FRESH_INSTALL,\n ALWAYS,\n NEVER,\n}\n"]}
|
||||
2
electron/node_modules/app-builder-lib/out/options/FileAssociation.d.ts
generated
vendored
2
electron/node_modules/app-builder-lib/out/options/FileAssociation.d.ts
generated
vendored
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* macOS (corresponds to [CFBundleDocumentTypes](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-101685)), NSIS, and MSI only.
|
||||
*
|
||||
* On Windows (NSIS) works only if [nsis.perMachine](https://electron.build/configuration/configuration#NsisOptions-perMachine) is set to `true`.
|
||||
* On Windows (NSIS) works only if [nsis.perMachine](https://www.electron.build/nsis) is set to `true`.
|
||||
*/
|
||||
export interface FileAssociation {
|
||||
/**
|
||||
|
|
|
|||
2
electron/node_modules/app-builder-lib/out/options/FileAssociation.js.map
generated
vendored
2
electron/node_modules/app-builder-lib/out/options/FileAssociation.js.map
generated
vendored
|
|
@ -1 +1 @@
|
|||
{"version":3,"file":"FileAssociation.js","sourceRoot":"","sources":["../../src/options/FileAssociation.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * File associations.\n *\n * macOS (corresponds to [CFBundleDocumentTypes](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-101685)), NSIS, and MSI only.\n *\n * On Windows (NSIS) works only if [nsis.perMachine](https://electron.build/configuration/configuration#NsisOptions-perMachine) is set to `true`.\n */\nexport interface FileAssociation {\n /**\n * The extension (minus the leading period). e.g. `png`.\n */\n readonly ext: string | Array<string>\n\n /**\n * The name. e.g. `PNG`. Defaults to `ext`.\n */\n readonly name?: string | null\n\n /**\n * *windows-only.* The description.\n */\n readonly description?: string | null\n\n /**\n * *linux-only.* The mime-type.\n */\n readonly mimeType?: string | null\n\n /**\n * The path to icon (`.icns` for MacOS and `.ico` for Windows), relative to `build` (build resources directory). Defaults to `${firstExt}.icns`/`${firstExt}.ico` (if several extensions specified, first is used) or to application icon.\n *\n * Not supported on Linux, file issue if need (default icon will be `x-office-document`). Not supported on MSI.\n */\n readonly icon?: string | null\n\n /**\n * *macOS-only* The app’s role with respect to the type. The value can be `Editor`, `Viewer`, `Shell`, or `None`. Corresponds to `CFBundleTypeRole`.\n * @default Editor\n */\n readonly role?: string\n\n /**\n * *macOS-only* Whether the document is distributed as a bundle. If set to true, the bundle directory is treated as a file. Corresponds to `LSTypeIsPackage`.\n */\n readonly isPackage?: boolean\n\n /**\n * *macOS-only* The app’s rank with respect to the type. The value can be `Owner`, `Default`, `Alternate`, or `None`. Corresponds to `LSHandlerRank`.\n * @default Default\n */\n readonly rank?: string\n}\n"]}
|
||||
{"version":3,"file":"FileAssociation.js","sourceRoot":"","sources":["../../src/options/FileAssociation.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * File associations.\n *\n * macOS (corresponds to [CFBundleDocumentTypes](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-101685)), NSIS, and MSI only.\n *\n * On Windows (NSIS) works only if [nsis.perMachine](https://www.electron.build/nsis) is set to `true`.\n */\nexport interface FileAssociation {\n /**\n * The extension (minus the leading period). e.g. `png`.\n */\n readonly ext: string | Array<string>\n\n /**\n * The name. e.g. `PNG`. Defaults to `ext`.\n */\n readonly name?: string | null\n\n /**\n * *windows-only.* The description.\n */\n readonly description?: string | null\n\n /**\n * *linux-only.* The mime-type.\n */\n readonly mimeType?: string | null\n\n /**\n * The path to icon (`.icns` for MacOS and `.ico` for Windows), relative to `build` (build resources directory). Defaults to `${firstExt}.icns`/`${firstExt}.ico` (if several extensions specified, first is used) or to application icon.\n *\n * Not supported on Linux, file issue if need (default icon will be `x-office-document`). Not supported on MSI.\n */\n readonly icon?: string | null\n\n /**\n * *macOS-only* The app’s role with respect to the type. The value can be `Editor`, `Viewer`, `Shell`, or `None`. Corresponds to `CFBundleTypeRole`.\n * @default Editor\n */\n readonly role?: string\n\n /**\n * *macOS-only* Whether the document is distributed as a bundle. If set to true, the bundle directory is treated as a file. Corresponds to `LSTypeIsPackage`.\n */\n readonly isPackage?: boolean\n\n /**\n * *macOS-only* The app’s rank with respect to the type. The value can be `Owner`, `Default`, `Alternate`, or `None`. Corresponds to `LSHandlerRank`.\n * @default Default\n */\n readonly rank?: string\n}\n"]}
|
||||
4
electron/node_modules/app-builder-lib/out/options/MsiOptions.d.ts
generated
vendored
4
electron/node_modules/app-builder-lib/out/options/MsiOptions.d.ts
generated
vendored
|
|
@ -19,4 +19,8 @@ export interface MsiOptions extends CommonWindowsInstallerConfiguration, TargetS
|
|||
* Any additional arguments to be passed to the WiX installer compiler, such as `["-ext", "WixUtilExtension"]`
|
||||
*/
|
||||
readonly additionalWixArgs?: Array<string> | null;
|
||||
/**
|
||||
* Any additional arguments to be passed to the light.ext, such as `["-cultures:ja-jp"]`
|
||||
*/
|
||||
readonly additionalLightArgs?: Array<string> | null;
|
||||
}
|
||||
|
|
|
|||
2
electron/node_modules/app-builder-lib/out/options/MsiOptions.js.map
generated
vendored
2
electron/node_modules/app-builder-lib/out/options/MsiOptions.js.map
generated
vendored
|
|
@ -1 +1 @@
|
|||
{"version":3,"file":"MsiOptions.js","sourceRoot":"","sources":["../../src/options/MsiOptions.ts"],"names":[],"mappings":"","sourcesContent":["import { TargetSpecificOptions } from \"../core\"\nimport { CommonWindowsInstallerConfiguration } from \"./CommonWindowsInstallerConfiguration\"\n\nexport interface MsiOptions extends CommonWindowsInstallerConfiguration, TargetSpecificOptions {\n /**\n * One-click installation.\n * @default true\n */\n readonly oneClick?: boolean\n\n /**\n * The [upgrade code](https://msdn.microsoft.com/en-us/library/windows/desktop/aa372375(v=vs.85).aspx). Optional, by default generated using app id.\n */\n readonly upgradeCode?: string | null\n\n /**\n * If `warningsAsErrors` is `true` (default): treat warnings as errors. If `warningsAsErrors` is `false`: allow warnings.\n * @default true\n */\n readonly warningsAsErrors?: boolean\n\n /**\n * Any additional arguments to be passed to the WiX installer compiler, such as `[\"-ext\", \"WixUtilExtension\"]`\n */\n readonly additionalWixArgs?: Array<string> | null\n}\n"]}
|
||||
{"version":3,"file":"MsiOptions.js","sourceRoot":"","sources":["../../src/options/MsiOptions.ts"],"names":[],"mappings":"","sourcesContent":["import { TargetSpecificOptions } from \"../core\"\nimport { CommonWindowsInstallerConfiguration } from \"./CommonWindowsInstallerConfiguration\"\n\nexport interface MsiOptions extends CommonWindowsInstallerConfiguration, TargetSpecificOptions {\n /**\n * One-click installation.\n * @default true\n */\n readonly oneClick?: boolean\n\n /**\n * The [upgrade code](https://msdn.microsoft.com/en-us/library/windows/desktop/aa372375(v=vs.85).aspx). Optional, by default generated using app id.\n */\n readonly upgradeCode?: string | null\n\n /**\n * If `warningsAsErrors` is `true` (default): treat warnings as errors. If `warningsAsErrors` is `false`: allow warnings.\n * @default true\n */\n readonly warningsAsErrors?: boolean\n\n /**\n * Any additional arguments to be passed to the WiX installer compiler, such as `[\"-ext\", \"WixUtilExtension\"]`\n */\n readonly additionalWixArgs?: Array<string> | null\n\n /**\n * Any additional arguments to be passed to the light.ext, such as `[\"-cultures:ja-jp\"]`\n */\n readonly additionalLightArgs?: Array<string> | null\n}\n"]}
|
||||
26
electron/node_modules/app-builder-lib/out/options/MsiWrappedOptions.d.ts
generated
vendored
Normal file
26
electron/node_modules/app-builder-lib/out/options/MsiWrappedOptions.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
import { TargetSpecificOptions } from "../core";
|
||||
import { CommonWindowsInstallerConfiguration } from "./CommonWindowsInstallerConfiguration";
|
||||
export interface MsiWrappedOptions extends CommonWindowsInstallerConfiguration, TargetSpecificOptions {
|
||||
/**
|
||||
* Extra arguments to provide to the wrapped installer (ie: /S for silent install)
|
||||
*/
|
||||
readonly wrappedInstallerArgs?: string | null;
|
||||
/**
|
||||
* Determines if the wrapped installer should be executed with impersonation
|
||||
* @default false
|
||||
*/
|
||||
readonly impersonate?: boolean;
|
||||
/**
|
||||
* The [upgrade code](https://msdn.microsoft.com/en-us/library/windows/desktop/aa372375(v=vs.85).aspx). Optional, by default generated using app id.
|
||||
*/
|
||||
readonly upgradeCode?: string | null;
|
||||
/**
|
||||
* If `warningsAsErrors` is `true` (default): treat warnings as errors. If `warningsAsErrors` is `false`: allow warnings.
|
||||
* @default true
|
||||
*/
|
||||
readonly warningsAsErrors?: boolean;
|
||||
/**
|
||||
* Any additional arguments to be passed to the WiX installer compiler, such as `["-ext", "WixUtilExtension"]`
|
||||
*/
|
||||
readonly additionalWixArgs?: Array<string> | null;
|
||||
}
|
||||
3
electron/node_modules/app-builder-lib/out/options/MsiWrappedOptions.js
generated
vendored
Normal file
3
electron/node_modules/app-builder-lib/out/options/MsiWrappedOptions.js
generated
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
//# sourceMappingURL=MsiWrappedOptions.js.map
|
||||
1
electron/node_modules/app-builder-lib/out/options/MsiWrappedOptions.js.map
generated
vendored
Normal file
1
electron/node_modules/app-builder-lib/out/options/MsiWrappedOptions.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"MsiWrappedOptions.js","sourceRoot":"","sources":["../../src/options/MsiWrappedOptions.ts"],"names":[],"mappings":"","sourcesContent":["import { TargetSpecificOptions } from \"../core\"\nimport { CommonWindowsInstallerConfiguration } from \"./CommonWindowsInstallerConfiguration\"\n\nexport interface MsiWrappedOptions extends CommonWindowsInstallerConfiguration, TargetSpecificOptions {\n /**\n * Extra arguments to provide to the wrapped installer (ie: /S for silent install)\n */\n readonly wrappedInstallerArgs?: string | null\n\n /**\n * Determines if the wrapped installer should be executed with impersonation\n * @default false\n */\n readonly impersonate?: boolean\n\n /**\n * The [upgrade code](https://msdn.microsoft.com/en-us/library/windows/desktop/aa372375(v=vs.85).aspx). Optional, by default generated using app id.\n */\n readonly upgradeCode?: string | null\n\n /**\n * If `warningsAsErrors` is `true` (default): treat warnings as errors. If `warningsAsErrors` is `false`: allow warnings.\n * @default true\n */\n readonly warningsAsErrors?: boolean\n\n /**\n * Any additional arguments to be passed to the WiX installer compiler, such as `[\"-ext\", \"WixUtilExtension\"]`\n */\n readonly additionalWixArgs?: Array<string> | null\n}\n"]}
|
||||
124
electron/node_modules/app-builder-lib/out/options/PlatformSpecificBuildOptions.d.ts
generated
vendored
124
electron/node_modules/app-builder-lib/out/options/PlatformSpecificBuildOptions.d.ts
generated
vendored
|
|
@ -2,15 +2,23 @@ import { CompressionLevel, Publish, TargetConfiguration, TargetSpecificOptions }
|
|||
import { FileAssociation } from "./FileAssociation";
|
||||
export interface FileSet {
|
||||
/**
|
||||
* The source path relative to the project directory.
|
||||
* The source path relative to and defaults to:
|
||||
*
|
||||
* - the [app directory](https://www.electron.build/configuration#directories) for `files`,
|
||||
* - the project directory for `extraResources` and `extraFiles`.
|
||||
* If you don't use two-package.json structure and don't set custom app directory, app directory equals to project directory.
|
||||
*/
|
||||
from?: string;
|
||||
/**
|
||||
* The destination path relative to the app's content directory for `extraFiles` and the app's resource directory for `extraResources`.
|
||||
* The destination path relative to and defaults to:
|
||||
*
|
||||
* - the asar archive root for `files`,
|
||||
* - the app's content directory for `extraFiles`,
|
||||
* - the app's resource directory for `extraResources`.
|
||||
*/
|
||||
to?: string;
|
||||
/**
|
||||
* The [glob patterns](/file-patterns).
|
||||
* The [glob patterns](https://www.electron.build/file-patterns). Defaults to "**\/*"
|
||||
*/
|
||||
filter?: Array<string> | string;
|
||||
}
|
||||
|
|
@ -20,9 +28,70 @@ export interface AsarOptions {
|
|||
* @default true
|
||||
*/
|
||||
smartUnpack?: boolean;
|
||||
/**
|
||||
* Path to a file containing the order in which files should be packed into the asar archive.
|
||||
* Each line of the file is a relative path from the app directory. Files listed first are
|
||||
* packed first, which can improve app startup time by front-loading frequently accessed modules.
|
||||
* See the [asar documentation](https://github.com/electron/asar) for details.
|
||||
*/
|
||||
ordering?: string | null;
|
||||
}
|
||||
export interface PlatformSpecificBuildOptions extends TargetSpecificOptions {
|
||||
export interface FilesBuildOptions {
|
||||
/**
|
||||
* A [glob patterns](https://www.electron.build/file-patterns) relative to the [app directory](https://www.electron.build/configuration#directories), which specifies which files to include when copying files to create the package.
|
||||
|
||||
Defaults to:
|
||||
```json
|
||||
[
|
||||
"**\/*",
|
||||
"!**\/node_modules/*\/{CHANGELOG.md,README.md,README,readme.md,readme}",
|
||||
"!**\/node_modules/*\/{test,__tests__,tests,powered-test,example,examples}",
|
||||
"!**\/node_modules/*.d.ts",
|
||||
"!**\/node_modules/.bin",
|
||||
"!**\/*.{iml,o,hprof,orig,pyc,pyo,rbc,swp,csproj,sln,xproj}",
|
||||
"!.editorconfig",
|
||||
"!**\/._*",
|
||||
"!**\/{.DS_Store,.git,.hg,.svn,CVS,RCS,SCCS,.gitignore,.gitattributes}",
|
||||
"!**\/{__pycache__,thumbs.db,.flowconfig,.idea,.vs,.nyc_output}",
|
||||
"!**\/{appveyor.yml,.travis.yml,circle.yml}",
|
||||
"!**\/{npm-debug.log,yarn.lock,.yarn-integrity,.yarn-metadata.json}"
|
||||
]
|
||||
```
|
||||
|
||||
Development dependencies are never copied in any case. You don't need to ignore it explicitly. Hidden files are not ignored by default, but all files that should be ignored, are ignored by default.
|
||||
|
||||
Default pattern \`**\/*\` **is not added to your custom** if some of your patterns is not ignore (i.e. not starts with `!`). `package.json` and \`**\/node_modules/**\/*` (only production dependencies will be copied) is added to your custom in any case. All default ignores are added in any case — you don't need to repeat it if you configure own patterns.
|
||||
|
||||
May be specified in the platform options (e.g. in the [mac](https://www.electron.build/mac)).
|
||||
|
||||
You may also specify custom source and destination directories by using `FileSet` objects instead of simple glob patterns.
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"from": "path/to/source",
|
||||
"to": "path/to/destination",
|
||||
"filter": ["**\/*", "!foo/*.js"]
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
You can use [file macros](https://www.electron.build/file-patterns#file-macros) in the `from` and `to` fields as well. `from` and `to` can be files and you can use this to [rename](https://github.com/electron-userland/electron-builder/issues/1119) a file while packaging.
|
||||
*/
|
||||
files?: Array<FileSet | string> | FileSet | string | null;
|
||||
/**
|
||||
* A [glob patterns](https://www.electron.build/file-patterns) relative to the project directory, when specified, copy the file or directory with matching names directly into the app's resources directory (`Contents/Resources` for MacOS, `resources` for Linux and Windows).
|
||||
*
|
||||
* File patterns (and support for `from` and `to` fields) the same as for [files](#files).
|
||||
*
|
||||
*/
|
||||
extraResources?: Array<FileSet | string> | FileSet | string | null;
|
||||
/**
|
||||
* The same as [extraResources](#extraresources) but copy into the app's content directory (`Contents` for MacOS, root directory for Linux and Windows).
|
||||
*/
|
||||
extraFiles?: Array<FileSet | string> | FileSet | string | null;
|
||||
}
|
||||
export interface PlatformSpecificBuildOptions extends TargetSpecificOptions, FilesBuildOptions {
|
||||
/**
|
||||
* The application id. Used as [CFBundleIdentifier](https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-102070) for MacOS and as
|
||||
* [Application User Model ID](https://msdn.microsoft.com/en-us/library/windows/desktop/dd378459(v=vs.85).aspx) for Windows (NSIS target only, Squirrel.Windows not supported). It is strongly recommended that an explicit ID is set.
|
||||
|
|
@ -30,11 +99,12 @@ export interface PlatformSpecificBuildOptions extends TargetSpecificOptions {
|
|||
*/
|
||||
readonly appId?: string | null;
|
||||
/**
|
||||
* The [artifact file name template](/configuration/configuration#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).
|
||||
* The [artifact file name template](https://www.electron.build/configuration#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).
|
||||
*/
|
||||
readonly artifactName?: string | null;
|
||||
/**
|
||||
* The executable name. Defaults to `productName`.
|
||||
* The executable name. Defaults to `productName`
|
||||
* Note: Except for Linux, where this would constitute a breaking change in previous behavior and lead to both invalid executable names and Desktop files. Ref comments in: https://github.com/electron-userland/electron-builder/pull/9068
|
||||
*/
|
||||
readonly executableName?: string | null;
|
||||
/**
|
||||
|
|
@ -42,18 +112,21 @@ export interface PlatformSpecificBuildOptions extends TargetSpecificOptions {
|
|||
* @default normal
|
||||
*/
|
||||
readonly compression?: CompressionLevel | null;
|
||||
files?: Array<FileSet | string> | FileSet | string | null;
|
||||
extraResources?: Array<FileSet | string> | FileSet | string | null;
|
||||
extraFiles?: Array<FileSet | string> | FileSet | string | null;
|
||||
/**
|
||||
* Whether to exclude all default ignored files(https://www.electron.build/contents#files) and options. Defaults to `false`.
|
||||
*
|
||||
* @default false
|
||||
*/
|
||||
disableDefaultIgnoredFiles?: boolean | null;
|
||||
/**
|
||||
* Whether to package the application's source code into an archive, using [Electron's archive format](http://electron.atom.io/docs/tutorial/application-packaging/).
|
||||
*
|
||||
* Node modules, that must be unpacked, will be detected automatically, you don't need to explicitly set [asarUnpack](#configuration-asarUnpack) - please file an issue if this doesn't work.
|
||||
* Node modules, that must be unpacked, will be detected automatically, you don't need to explicitly set [asarUnpack](#asarUnpack) - please file an issue if this doesn't work.
|
||||
* @default true
|
||||
*/
|
||||
readonly asar?: AsarOptions | boolean | null;
|
||||
/**
|
||||
* A [glob patterns](/file-patterns) relative to the [app directory](#MetadataDirectories-app), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive.
|
||||
* A [glob patterns](https://www.electron.build/file-patterns) relative to the [app directory](#directories), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive.
|
||||
*/
|
||||
readonly asarUnpack?: Array<string> | string | null;
|
||||
/** @private */
|
||||
|
|
@ -66,17 +139,26 @@ export interface PlatformSpecificBuildOptions extends TargetSpecificOptions {
|
|||
* The URL protocol schemes.
|
||||
*/
|
||||
readonly protocols?: Array<Protocol> | Protocol;
|
||||
/**
|
||||
* The electron locales to keep. By default, all Electron locales used as-is.
|
||||
*/
|
||||
readonly electronLanguages?: Array<string> | string;
|
||||
/**
|
||||
* Whether to fail if app will be not code signed.
|
||||
* @default false
|
||||
*/
|
||||
readonly forceCodeSigning?: boolean;
|
||||
/**
|
||||
* The [electron-updater compatibility](/auto-update#compatibility) semver range.
|
||||
* The [electron-updater compatibility](https://www.electron.build/auto-update#compatibility) semver range.
|
||||
*/
|
||||
readonly electronUpdaterCompatibility?: string | null;
|
||||
/**
|
||||
* Publisher configuration. See [Auto Update](https://www.electron.build/publish) for more information.
|
||||
*/
|
||||
publish?: Publish;
|
||||
/**
|
||||
* Whether to infer update channel from application version pre-release components. e.g. if version `0.12.1-alpha.1`, channel will be set to `alpha`. Otherwise to `latest`.
|
||||
* This does *not* apply to github publishing, which will [never auto-detect the update channel](https://github.com/electron-userland/electron-builder/issues/8589).
|
||||
* @default true
|
||||
*/
|
||||
readonly detectUpdateChannel?: boolean;
|
||||
|
|
@ -93,11 +175,21 @@ export interface PlatformSpecificBuildOptions extends TargetSpecificOptions {
|
|||
* ```
|
||||
*/
|
||||
readonly releaseInfo?: ReleaseInfo;
|
||||
/**
|
||||
* The build target(s) for this platform. Can be a target name string, a {@link TargetConfiguration}
|
||||
* object, or an array of either. Available targets depend on the platform — see platform-specific
|
||||
* options (e.g. {@link MacConfiguration.target}, {@link WindowsConfiguration.target},
|
||||
* {@link LinuxConfiguration.target}).
|
||||
*/
|
||||
readonly target?: Array<string | TargetConfiguration> | string | TargetConfiguration | null;
|
||||
/** @private */
|
||||
cscLink?: string | null;
|
||||
/** @private */
|
||||
cscKeyPassword?: string | null;
|
||||
/**
|
||||
* The default architecture to build for when no `--arch` flag is specified.
|
||||
* Defaults to the current machine's architecture.
|
||||
*/
|
||||
readonly defaultArch?: string;
|
||||
}
|
||||
export interface ReleaseInfo {
|
||||
|
|
@ -110,13 +202,19 @@ export interface ReleaseInfo {
|
|||
*/
|
||||
releaseNotes?: string | null;
|
||||
/**
|
||||
* The path to release notes file. Defaults to `release-notes-${platform}.md` (where `platform` it is current platform — `mac`, `linux` or `windows`) or `release-notes.md` in the [build resources](#MetadataDirectories-buildResources).
|
||||
* The path to release notes file. Defaults to `release-notes-${platform}.md` (where `platform` it is current platform — `mac`, `linux` or `windows`) or `release-notes.md` in the [build resources](https://www.electron.build/contents#extraresources).
|
||||
*/
|
||||
releaseNotesFile?: string | null;
|
||||
/**
|
||||
* The release date.
|
||||
*/
|
||||
releaseDate?: string;
|
||||
/**
|
||||
* Vendor specific information.
|
||||
*/
|
||||
vendor?: {
|
||||
[key: string]: any;
|
||||
} | null;
|
||||
}
|
||||
/**
|
||||
* URL Protocol Schemes. Protocols to associate the app with. macOS only.
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
473
electron/node_modules/app-builder-lib/out/options/SnapOptions.d.ts
generated
vendored
473
electron/node_modules/app-builder-lib/out/options/SnapOptions.d.ts
generated
vendored
|
|
@ -1,104 +1,197 @@
|
|||
import { TargetSpecificOptions } from "../core";
|
||||
import { SnapcraftYAML } from "../targets/snap/snapcraft";
|
||||
import { CommonLinuxOptions } from "./linuxOptions";
|
||||
/**
|
||||
* New-style snap configuration. Use this via the `snapcraft` key in your build config.
|
||||
* Selects the snapcraft core version and its per-core options.
|
||||
*/
|
||||
export interface SnapcraftOptions extends TargetSpecificOptions {
|
||||
/**
|
||||
* The snap base to use as the execution environment. Determines which set of per-core options
|
||||
* (`core18`, `core20`, `core22`, `core24`, `custom`) is active.
|
||||
*
|
||||
* Only one core may be selected per build target.
|
||||
*/
|
||||
readonly base: "core18" | "core20" | "core22" | "core24" | "custom";
|
||||
/**
|
||||
* Snapcraft Store credentials — base64-encoded credentials string or file path.
|
||||
* Accepts the same formats as `WIN_CSC_LINK` / `CSC_LINK`: base64 data,
|
||||
* absolute/relative/`~/` file paths, and `file://` URIs.
|
||||
* Relative paths are resolved against the build resources directory.
|
||||
*
|
||||
* Injected as `SNAPCRAFT_STORE_CREDENTIALS` into every snapcraft subprocess
|
||||
* (core18/core20/core22/core24 builds and `snapcraft upload`).
|
||||
* Not applied for `base: "custom"` — inject credentials manually via environment variables.
|
||||
*
|
||||
* The `SNAP_CSC_LINK` environment variable is the CI-friendly alternative.
|
||||
* Generate with: `snapcraft export-login - | base64 -w0`
|
||||
*/
|
||||
readonly cscLink?: string;
|
||||
/**
|
||||
* Configuration for a core18 build. Only active when `base` is `"core18"`.
|
||||
*/
|
||||
readonly core18?: SnapOptionsLegacy | null;
|
||||
/**
|
||||
* Configuration for a core20 build. Only active when `base` is `"core20"`.
|
||||
*/
|
||||
readonly core20?: SnapOptionsLegacy | null;
|
||||
/**
|
||||
* Configuration for a core22 build. Only active when `base` is `"core22"`.
|
||||
*/
|
||||
readonly core22?: SnapOptionsLegacy | null;
|
||||
/**
|
||||
* **[Beta]** Options for building a core24 snap. Uses the snapcraft CLI directly.
|
||||
* Inherits desktop-entry fields from `CommonLinuxOptions` and publish config from `TargetSpecificOptions`.
|
||||
* @beta
|
||||
*/
|
||||
readonly core24?: SnapOptions24 | null;
|
||||
/**
|
||||
* **[Beta]** Pass-through custom snap configuration. electron-builder will read the
|
||||
* snapcraft.yaml at `yamlPath` and use it verbatim — no plugs, extensions,
|
||||
* organize mappings, or desktop files are injected.
|
||||
* @beta
|
||||
*/
|
||||
readonly custom?: SnapOptionsCustom | null;
|
||||
}
|
||||
export type SnapOptionsLegacy = Omit<SnapOptions, "base">;
|
||||
export interface SnapOptionsCustom {
|
||||
/**
|
||||
* Supports 2 routes:
|
||||
* - Path to an existing `snapcraft.yaml` file, relative to `buildResourcesDir`. electron-builder reads the file and passes it through without modification.
|
||||
* - A `SnapcraftYAML` object directly in the configuration. electron-builder uses the object to generate a `snapcraft.yaml` file, which is then passed through without modification.
|
||||
*/
|
||||
readonly yaml?: string | SnapcraftYAML | null;
|
||||
}
|
||||
/**
|
||||
* Flat snap options. Used via the `snap` key in your build config.
|
||||
*
|
||||
* @deprecated Prefer the `snapcraft` key with an explicit `base` field (e.g.
|
||||
* `{ "snapcraft": { "base": "core24", "core24": { ... } } }`). The flat `snap`
|
||||
* interface is maintained for backward compatibility and targets `core22` and
|
||||
* older snap bases only.
|
||||
*
|
||||
* Fields inherited from {@link CommonLinuxOptions} (e.g. `description`, `category`,
|
||||
* `mimeTypes`, `executableArgs`) are automatically populated from `linux.*` configuration
|
||||
* and do not need to be repeated here. Per-core values take precedence when both are set.
|
||||
*/
|
||||
export interface SnapOptions extends CommonLinuxOptions, TargetSpecificOptions {
|
||||
/**
|
||||
* The type of [confinement](https://snapcraft.io/docs/reference/confinement) supported by the snap.
|
||||
* The snap base to use as the execution environment.
|
||||
* Examples: `core18`, `core20`, `core22`.
|
||||
*
|
||||
* For new projects, use the `snapcraft` key with `base: "core24"` instead of
|
||||
* this legacy interface.
|
||||
*/
|
||||
readonly base?: string | null;
|
||||
/**
|
||||
* Whether to use the pre-built Electron snap template for faster builds.
|
||||
* When `true`, electron-builder delegates snap assembly to the upstream Electron snap
|
||||
* template rather than running a full snapcraft build, significantly reducing build time.
|
||||
* Defaults to `true` when `stagePackages` is not customised.
|
||||
* Only applicable to x64 and armv7l builds.
|
||||
*/
|
||||
readonly useTemplateApp?: boolean;
|
||||
/**
|
||||
* The type of [snap confinement](https://snapcraft.io/docs/reference/confinement).
|
||||
* - `strict` — recommended; the snap runs in a fully isolated sandbox.
|
||||
* - `devmode` — sandbox violations are logged but not enforced; for development only.
|
||||
* - `classic` — no confinement; equivalent to a traditionally packaged application.
|
||||
* Requires Snap Store approval before publishing.
|
||||
* @default strict
|
||||
*/
|
||||
readonly confinement?: "devmode" | "strict" | "classic" | null;
|
||||
/**
|
||||
* The custom environment. Defaults to `{"TMPDIR: "$XDG_RUNTIME_DIR"}`. If you set custom, it will be merged with default.
|
||||
* Environment variables injected into the snap's runtime environment.
|
||||
* Merged with the electron-builder default `{ TMPDIR: "$XDG_RUNTIME_DIR" }`.
|
||||
* User-supplied values take precedence.
|
||||
*/
|
||||
readonly environment?: {
|
||||
[key: string]: string;
|
||||
} | null;
|
||||
/**
|
||||
* The 78 character long summary. Defaults to [productName](/configuration/configuration#Configuration-productName).
|
||||
* A short summary of the snap (max 78 characters).
|
||||
* Defaults to [productName](./configuration.md#productName).
|
||||
*/
|
||||
readonly summary?: string | null;
|
||||
/**
|
||||
* The quality grade of the snap. It can be either `devel` (i.e. a development version of the snap, so not to be published to the “stable” or “candidate” channels) or “stable” (i.e. a stable release or release candidate, which can be released to all channels).
|
||||
* The quality grade of the snap.
|
||||
* - `stable` — suitable for all channels, including `stable` and `candidate`.
|
||||
* - `devel` — development snapshot; cannot be promoted to `stable` or `candidate`.
|
||||
* @default stable
|
||||
*/
|
||||
readonly grade?: "devel" | "stable" | null;
|
||||
/**
|
||||
* The list of features that must be supported by the core in order for this snap to install.
|
||||
* [Snapd features](https://snapcraft.io/docs/snapcraft-yaml-reference#assumes) that must
|
||||
* be present on the host before the snap can be installed.
|
||||
*/
|
||||
readonly assumes?: Array<string> | string | null;
|
||||
/**
|
||||
* The list of debian packages needs to be installed for building this snap.
|
||||
* Debian packages required at **build** time (installed inside the build environment).
|
||||
*/
|
||||
readonly buildPackages?: Array<string> | null;
|
||||
/**
|
||||
* The list of Ubuntu packages to use that are needed to support the `app` part creation. Like `depends` for `deb`.
|
||||
* Ubuntu packages to **stage** alongside the app (equivalent to `depends` for deb).
|
||||
* Defaults to `["libnspr4", "libnss3", "libxss1", "libappindicator3-1", "libsecret-1-0"]`.
|
||||
*
|
||||
* If list contains `default`, it will be replaced to default list, so, `["default", "foo"]` can be used to add custom package `foo` in addition to defaults.
|
||||
* Use the `"default"` keyword to extend the default list:
|
||||
* `["default", "my-extra-lib"]` appends `my-extra-lib` to the defaults.
|
||||
*/
|
||||
readonly stagePackages?: Array<string> | null;
|
||||
/**
|
||||
* The [hooks](https://docs.snapcraft.io/build-snaps/hooks) directory, relative to `build` (build resources directory).
|
||||
* Directory containing [snap hooks](https://snapcraft.io/docs/snap-hooks), relative to
|
||||
* the build resources directory (`build/`).
|
||||
* @default build/snap-hooks
|
||||
*/
|
||||
readonly hooks?: string | null;
|
||||
/**
|
||||
* The list of [plugs](https://snapcraft.io/docs/reference/interfaces).
|
||||
* Defaults to `["desktop", "desktop-legacy", "home", "x11", "wayland", "unity7", "browser-support", "network", "gsettings", "audio-playback", "pulseaudio", "opengl"]`.
|
||||
* [Plugs](https://snapcraft.io/docs/reference/interfaces) (consumed interfaces) to declare
|
||||
* for the app entry point.
|
||||
* Defaults to `["desktop", "desktop-legacy", "home", "x11", "wayland", "unity7",
|
||||
* "browser-support", "network", "gsettings", "audio-playback", "pulseaudio", "opengl"]`.
|
||||
*
|
||||
* If list contains `default`, it will be replaced to default list, so, `["default", "foo"]` can be used to add custom plug `foo` in addition to defaults.
|
||||
* Use `"default"` in the list to keep the defaults and append extras:
|
||||
* `["default", "camera"]` adds `camera` to the standard set.
|
||||
*
|
||||
* Additional attributes can be specified using object instead of just name of plug:
|
||||
* ```
|
||||
*[
|
||||
* {
|
||||
* "browser-sandbox": {
|
||||
* "interface": "browser-support",
|
||||
* "allow-sandbox": true
|
||||
* },
|
||||
* },
|
||||
* "another-simple-plug-name"
|
||||
*]
|
||||
* To configure plug attributes (e.g. `allow-sandbox` for Chromium's internal sandbox),
|
||||
* use a descriptor object:
|
||||
* ```json
|
||||
* [
|
||||
* { "browser-sandbox": { "interface": "browser-support", "allow-sandbox": true } },
|
||||
* "another-simple-plug-name"
|
||||
* ]
|
||||
* ```
|
||||
*/
|
||||
readonly plugs?: Array<string | PlugDescriptor> | PlugDescriptor | null;
|
||||
/**
|
||||
* The list of [slots](https://snapcraft.io/docs/reference/interfaces).
|
||||
* [Slots](https://snapcraft.io/docs/reference/interfaces) (provided interfaces) to declare
|
||||
* for the app.
|
||||
*
|
||||
* Additional attributes can be specified using object instead of just name of slot:
|
||||
* To expose an MPRIS player under the Chromium bus name (required for strict confinement):
|
||||
* ```json
|
||||
* [{ "mpris": { "name": "chromium" } }]
|
||||
* ```
|
||||
*[
|
||||
* {
|
||||
* "mpris": {
|
||||
* "name": "chromium"
|
||||
* },
|
||||
* }
|
||||
*]
|
||||
*
|
||||
* In case you want your application to be a compliant MPris player, you will need to definie
|
||||
* The mpris slot with "chromium" name.
|
||||
* This electron has it [hardcoded](https://source.chromium.org/chromium/chromium/src/+/master:components/system_media_controls/linux/system_media_controls_linux.cc;l=51;bpv=0;bpt=1),
|
||||
* and we need to pass this name so snap [will allow it](https://forum.snapcraft.io/t/unable-to-use-mpris-interface/15360/7) in strict confinement.
|
||||
*
|
||||
* Chromium [hard-codes](https://source.chromium.org/chromium/chromium/src/+/master:components/system_media_controls/linux/system_media_controls_linux.cc;l=51;bpv=0;bpt=1)
|
||||
* the bus name `chromium`, so the slot name must match for snapd to
|
||||
* [allow it](https://forum.snapcraft.io/t/unable-to-use-mpris-interface/15360/7).
|
||||
*/
|
||||
readonly slots?: Array<string | SlotDescriptor> | PlugDescriptor | null;
|
||||
readonly slots?: Array<string | SlotDescriptor> | SlotDescriptor | null;
|
||||
/**
|
||||
* Specifies any [parts](https://snapcraft.io/docs/reference/parts) that should be built before this part.
|
||||
* Defaults to `["desktop-gtk2""]`.
|
||||
* Names of snapcraft parts that must be built before the app part.
|
||||
* Defaults to `["desktop-gtk2"]`.
|
||||
*
|
||||
* If list contains `default`, it will be replaced to default list, so, `["default", "foo"]` can be used to add custom parts `foo` in addition to defaults.
|
||||
* Use `"default"` to keep the default and add extras:
|
||||
* `["default", "my-helper-part"]`.
|
||||
*/
|
||||
readonly after?: Array<string> | null;
|
||||
/**
|
||||
* Whether to use template snap. Defaults to `true` if `stagePackages` not specified.
|
||||
*/
|
||||
readonly useTemplateApp?: boolean;
|
||||
/**
|
||||
* Whether or not the snap should automatically start on login.
|
||||
* Whether the snap should automatically start on login.
|
||||
* @default false
|
||||
*/
|
||||
readonly autoStart?: boolean;
|
||||
/**
|
||||
* Specifies any files to make accessible from locations such as `/usr`, `/var`, and `/etc`. See [snap layouts](https://snapcraft.io/docs/snap-layouts) to learn more.
|
||||
* [Snap layouts](https://snapcraft.io/docs/snap-layouts) — bind-mount or symlink host paths
|
||||
* into the snap's namespace, making libraries or config at `/usr`, `/var`, `/etc`, etc.
|
||||
* accessible inside the confined environment.
|
||||
*/
|
||||
readonly layout?: {
|
||||
[key: string]: {
|
||||
|
|
@ -106,30 +199,300 @@ export interface SnapOptions extends CommonLinuxOptions, TargetSpecificOptions {
|
|||
};
|
||||
} | null;
|
||||
/**
|
||||
* Specifies which files from the app part to stage and which to exclude. Individual files, directories, wildcards, globstars, and exclusions are accepted. See [Snapcraft filesets](https://snapcraft.io/docs/snapcraft-filesets) to learn more about the format.
|
||||
*
|
||||
* The defaults can be found in [snap.ts](https://github.com/electron-userland/electron-builder/blob/master/packages/app-builder-lib/templates/snap/snapcraft.yaml#L29).
|
||||
* Filesets controlling which files from the app part are staged into the snap.
|
||||
* Supports individual files, directories, globs, globstars, and exclusions (prefix `!`).
|
||||
* See [Snapcraft filesets](https://snapcraft.io/docs/snapcraft-filesets).
|
||||
* When not set, the snap template's default stage list is used for legacy bases (core18/core20/core22).
|
||||
*/
|
||||
readonly appPartStage?: Array<string> | null;
|
||||
/**
|
||||
* An optional title for the snap, may contain uppercase letters and spaces. Defaults to `productName`. See [snap format documentation](https://snapcraft.io/docs/snap-format).
|
||||
* Display title for the snap (may contain uppercase letters and spaces).
|
||||
* Defaults to `productName`.
|
||||
* See [snap format](https://snapcraft.io/docs/snap-format).
|
||||
*/
|
||||
readonly title?: string | null;
|
||||
/**
|
||||
* Sets the compression type for the snap. Can be xz, lzo, or null.
|
||||
* Compression algorithm for the snap SquashFS image.
|
||||
* - `xz` — smaller file, slower decompression (good for distribution).
|
||||
* - `lzo` — larger file, faster decompression (good for development iteration).
|
||||
* Omit to use snapcraft's default (`xz`).
|
||||
*
|
||||
* When not set, `linux.compression` is mapped automatically:
|
||||
* `"store"` → `"lzo"`, `"maximum"` → `"xz"`, `"normal"` → snapcraft default.
|
||||
* Explicitly setting this field always overrides the mapped value.
|
||||
*/
|
||||
readonly compression?: "xz" | "lzo" | null;
|
||||
/**
|
||||
* Allow running the program with native wayland support with --ozone-platform=wayland.
|
||||
* Disabled by default because of this issue in older Electron/Snap versions: https://github.com/electron-userland/electron-builder/issues/4007
|
||||
* Allow the snap to run with native Wayland support (`--ozone-platform=wayland`).
|
||||
* Defaults to `false` for Electron < 38 (legacy behaviour); `true` for Electron ≥ 38.
|
||||
* Set explicitly to override the version-based default.
|
||||
*/
|
||||
readonly allowNativeWayland?: boolean | null;
|
||||
}
|
||||
/**
|
||||
* Configuration for a remote snap build on [Launchpad](https://launchpad.net/).
|
||||
* Remote builds run on Canonical's infrastructure without requiring native hardware or nested virtualisation.
|
||||
*
|
||||
* Each electron-builder build invocation targets exactly one architecture — to build for multiple
|
||||
* architectures, configure the top-level `arch` option (e.g. `arch: ["x64", "arm64"]`); each arch
|
||||
* spawns a separate `snapcraft remote-build` job on Launchpad.
|
||||
*
|
||||
* Authentication is resolved in this order:
|
||||
* 1. `cscLink` config field — base64-encoded credentials or a file path
|
||||
* 2. `SNAP_CSC_LINK` environment variable — same format as `cscLink`
|
||||
* (CI-recommended; follows the same pattern as `WIN_CSC_LINK` for Windows code signing)
|
||||
* 3. `SNAPCRAFT_STORE_CREDENTIALS` environment variable (read directly by snapcraft)
|
||||
* 4. An active interactive `snapcraft login` session
|
||||
*
|
||||
* **CI setup** (set once as a CI secret):
|
||||
* ```sh
|
||||
* export SNAP_CSC_LINK=$(snapcraft export-login - | base64 -w0)
|
||||
* ```
|
||||
* The resolved credentials are injected only into the spawned `snapcraft` subprocess
|
||||
* environment and never exposed through `process.env`.
|
||||
*/
|
||||
export interface RemoteBuildOptions {
|
||||
/**
|
||||
* Whether to enable remote build on Launchpad. Must be set explicitly to `true` to opt in.
|
||||
*/
|
||||
enabled: boolean;
|
||||
/**
|
||||
* Your Launchpad username. Used to select the correct Launchpad account when more than
|
||||
* one set of credentials is available.
|
||||
*/
|
||||
launchpadUsername?: string;
|
||||
/**
|
||||
* Target architecture for the remote build. Accepts a single snapcraft arch string
|
||||
* (e.g. `"amd64"`, `"arm64"`, `"armhf"`).
|
||||
*
|
||||
* To build for multiple architectures, configure electron-builder's top-level `arch` option
|
||||
* (e.g. `arch: ["x64", "arm64"]`) — each arch spawns a separate remote-build job on Launchpad,
|
||||
* keeping the one-build-per-artifact contract intact.
|
||||
* @example "amd64"
|
||||
*/
|
||||
buildFor?: string;
|
||||
/**
|
||||
* Suppress the Launchpad public-upload consent prompt by automatically accepting it.
|
||||
* Your source code will be uploaded to a **public** Launchpad repository.
|
||||
* Set to `true` in CI once you understand the implications.
|
||||
*/
|
||||
acceptPublicUpload?: boolean;
|
||||
/**
|
||||
* Launchpad project name to use for a **private** source upload.
|
||||
* The project must already exist and you must have write access.
|
||||
*/
|
||||
privateProject?: string;
|
||||
/**
|
||||
* Resume a previously interrupted remote build rather than starting a new one.
|
||||
*/
|
||||
recover?: boolean;
|
||||
/**
|
||||
* Maximum time in seconds to wait for the remote build to complete before aborting.
|
||||
* Passed to `snapcraft remote-build` as `--timeout <seconds>`.
|
||||
*
|
||||
* @example 1800 // 30 minutes
|
||||
*/
|
||||
timeout?: number;
|
||||
/**
|
||||
* Controls whether snapcraft may fall back to a different remote build strategy.
|
||||
* - `"disable-fallback"` — always use the primary strategy, fail if unavailable.
|
||||
* - `"force-fallback"` — always use the fallback strategy.
|
||||
*/
|
||||
strategy?: "disable-fallback" | "force-fallback";
|
||||
}
|
||||
/**
|
||||
* **[Beta]** Options for building a core24 snap. This interface does not extend the legacy
|
||||
* `SnapBaseOptions` — it uses the snapcraft CLI directly.
|
||||
*
|
||||
* Fields inherited from {@link CommonLinuxOptions} (`description`, `category`, `mimeTypes`,
|
||||
* `executableArgs`, `desktop`, `synopsis`) are automatically populated from the root `linux.*`
|
||||
* configuration. You do not need to duplicate them here; values set directly on this interface
|
||||
* take precedence over the cascaded `linux.*` values.
|
||||
*
|
||||
* @beta
|
||||
*/
|
||||
export interface SnapOptions24 extends CommonLinuxOptions, TargetSpecificOptions {
|
||||
/**
|
||||
* Use [LXD](https://canonical.com/lxd) as the isolated build environment.
|
||||
* Preferred over Multipass on most Linux CI systems where nested virtualisation is unavailable.
|
||||
* Mutually exclusive with `useMultipass` and `useDestructiveMode`.
|
||||
*/
|
||||
readonly useLXD?: boolean | null;
|
||||
/**
|
||||
* Use [Multipass](https://multipass.run/) as the isolated build environment.
|
||||
* Mutually exclusive with `useLXD` and `useDestructiveMode`.
|
||||
*/
|
||||
readonly useMultipass?: boolean | null;
|
||||
/**
|
||||
* Build directly on the host without an isolated VM or container (snapcraft `--destructive-mode`).
|
||||
* Equivalent to setting `SNAPCRAFT_BUILD_ENVIRONMENT=host`.
|
||||
*
|
||||
* **Not recommended for most use cases.** Destructive mode pollutes the host environment
|
||||
* and produces builds that are difficult to reproduce — any library or tool present on the
|
||||
* host at build time can silently end up in the snap. Prefer `useLXD` or `useMultipass`
|
||||
* for clean, reproducible builds; use `remoteBuild` for multi-architecture CI.
|
||||
*
|
||||
* Valid reasons to enable this option:
|
||||
* - Building inside a Docker container where nested virtualisation (LXD / Multipass) is
|
||||
* unavailable and a remote Launchpad build is not acceptable.
|
||||
* - Running test suites in CI where the environment is already fully controlled.
|
||||
*
|
||||
* The `gnome` extension is incompatible with this mode enabled — do not include it in `extensions`.
|
||||
* @see https://snapcraft.io/docs/build-options
|
||||
*/
|
||||
readonly useDestructiveMode?: boolean | null;
|
||||
/**
|
||||
* Configuration for a remote build on [Launchpad](https://launchpad.net/).
|
||||
* Enables cross-architecture builds in CI without native hardware or nested virtualisation.
|
||||
* Each build invocation targets one arch; use `arch: ["x64", "arm64"]` to build for multiple.
|
||||
*/
|
||||
readonly remoteBuild?: RemoteBuildOptions | null;
|
||||
/**
|
||||
* [Snapcraft extensions](https://snapcraft.io/docs/snapcraft-extensions) to apply to the app.
|
||||
* Defaults to `["gnome"]` in normal builds (recommended for Electron apps on Ubuntu 24.04+).
|
||||
* Automatically set to `[]` in `useDestructiveMode` builds, where the gnome extension is
|
||||
* incompatible. Explicitly including `"gnome"` while `useDestructiveMode` is set will throw.
|
||||
* See: https://snapcraft.io/docs/gnome-extension
|
||||
*/
|
||||
readonly extensions?: Array<string> | null;
|
||||
/**
|
||||
* The type of [confinement](https://snapcraft.io/docs/reference/confinement) supported by the snap.
|
||||
* @default strict
|
||||
*/
|
||||
readonly confinement?: "devmode" | "strict" | "classic" | null;
|
||||
/**
|
||||
* The quality grade of the snap.
|
||||
* `devel` — not publishable to stable/candidate channels.
|
||||
* `stable` — suitable for all channels.
|
||||
* @default stable
|
||||
*/
|
||||
readonly grade?: "devel" | "stable" | null;
|
||||
/**
|
||||
* A short summary of the snap (max 78 characters). Defaults to `productName`.
|
||||
*/
|
||||
readonly summary?: string | null;
|
||||
/**
|
||||
* An optional display title (may contain uppercase letters and spaces). Defaults to `productName`.
|
||||
* See [snap format](https://snapcraft.io/docs/snap-format).
|
||||
*/
|
||||
readonly title?: string | null;
|
||||
/**
|
||||
* Compression algorithm for the snap SquashFS image.
|
||||
* - `xz` — smaller file, slower decompression (recommended for distribution).
|
||||
* - `lzo` — larger file, faster decompression (useful for development iteration).
|
||||
* Omit to use snapcraft's default (`xz`).
|
||||
*
|
||||
* When not set, `linux.compression` is mapped automatically:
|
||||
* `"store"` → `"lzo"`, `"maximum"` → `"xz"`, `"normal"` → snapcraft default.
|
||||
* Explicitly setting this field always overrides the mapped value.
|
||||
*/
|
||||
readonly compression?: "xz" | "lzo" | null;
|
||||
/**
|
||||
* Features that must be supported by the host snapd before the snap can be installed.
|
||||
* See [assumes](https://snapcraft.io/docs/snapcraft-yaml-reference#assumes).
|
||||
*/
|
||||
readonly assumes?: Array<string> | string | null;
|
||||
/**
|
||||
* Debian packages required at **build** time (installed inside the build environment).
|
||||
*/
|
||||
readonly buildPackages?: Array<string> | null;
|
||||
/**
|
||||
* Ubuntu packages to **stage** alongside the app (equivalent to `depends` for deb).
|
||||
* Defaults to `["libnspr4", "libnss3", "libxss1", "libappindicator3-1", "libsecret-1-0"]`.
|
||||
* Supports the `"default"` keyword to reference the default list:
|
||||
* `["default", "my-extra-lib"]` appends `my-extra-lib` to the defaults.
|
||||
*/
|
||||
readonly stagePackages?: Array<string> | null;
|
||||
/**
|
||||
* Filesets controlling which files from the app part are staged into the snap.
|
||||
* Supports glob patterns and exclusions. See [filesets](https://snapcraft.io/docs/snapcraft-filesets).
|
||||
*/
|
||||
readonly appPartStage?: Array<string> | null;
|
||||
/**
|
||||
* Names of other snapcraft parts that must be built before the app part.
|
||||
*/
|
||||
readonly after?: Array<string> | null;
|
||||
/**
|
||||
* [Plugs](https://snapcraft.io/docs/reference/interfaces) (consumed interfaces) for the app.
|
||||
* When the `gnome` extension is active, content-snap plugs (themes, GNOME platform, GPU)
|
||||
* are added automatically — only list custom plugs here.
|
||||
* Without any extension, defaults to the standard Electron plug set.
|
||||
*
|
||||
* Supports descriptor objects for plugs with attributes:
|
||||
* ```json
|
||||
* [{ "browser-sandbox": { "interface": "browser-support", "allow-sandbox": true } }]
|
||||
* ```
|
||||
*/
|
||||
readonly plugs?: Array<string | PlugDescriptor> | PlugDescriptor | null;
|
||||
/**
|
||||
* [Slots](https://snapcraft.io/docs/reference/interfaces) (provided interfaces) for the app.
|
||||
* Use for MPRIS, D-Bus services, etc.
|
||||
*
|
||||
* Example — expose MPRIS under the Chromium bus name:
|
||||
* ```json
|
||||
* [{ "mpris": { "name": "chromium" } }]
|
||||
* ```
|
||||
*/
|
||||
readonly slots?: Array<string | SlotDescriptor> | SlotDescriptor | null;
|
||||
/**
|
||||
* [Snap layouts](https://snapcraft.io/docs/snap-layouts) — bind-mount or symlink host paths
|
||||
* into the snap's namespace. User-provided layouts always override the extension defaults.
|
||||
*/
|
||||
readonly layout?: {
|
||||
[key: string]: {
|
||||
[key: string]: string;
|
||||
};
|
||||
} | null;
|
||||
/**
|
||||
* Additional environment variables injected into the snap's runtime environment.
|
||||
* Merged with the electron-builder defaults (`TMPDIR=$XDG_RUNTIME_DIR`).
|
||||
* User-supplied values take precedence.
|
||||
*/
|
||||
readonly environment?: {
|
||||
[key: string]: string;
|
||||
} | null;
|
||||
/**
|
||||
* Whether the app should auto-start on login (creates an autostart desktop entry).
|
||||
* @default false
|
||||
*/
|
||||
readonly autoStart?: boolean;
|
||||
/**
|
||||
* Set to `true` to force X11 by injecting `--ozone-platform=x11` into the snap command line.
|
||||
* When unset or `false`, no flag is injected and native Wayland is allowed.
|
||||
* Unlike the legacy `snap.allowNativeWayland`, there is no electron-version-based default here —
|
||||
* core24 always allows Wayland unless this is explicitly `true`.
|
||||
*/
|
||||
readonly forceX11?: boolean | null;
|
||||
/**
|
||||
* Directory containing [snap hooks](https://snapcraft.io/docs/snap-hooks), relative to
|
||||
* the build resources directory.
|
||||
* @default build/snap-hooks
|
||||
*/
|
||||
readonly hooks?: string | null;
|
||||
}
|
||||
/**
|
||||
* Maps a named plug to its attribute object.
|
||||
* `null` uses snapd defaults for that interface.
|
||||
*
|
||||
* @example
|
||||
* ```json
|
||||
* { "browser-sandbox": { "interface": "browser-support", "allow-sandbox": true } }
|
||||
* ```
|
||||
*/
|
||||
export interface PlugDescriptor {
|
||||
[key: string]: {
|
||||
[key: string]: any;
|
||||
} | null;
|
||||
}
|
||||
/**
|
||||
* Maps a named slot to its attribute object.
|
||||
* `null` uses snapd defaults for that interface.
|
||||
*
|
||||
* @example
|
||||
* ```json
|
||||
* { "mpris": { "name": "chromium" } }
|
||||
* ```
|
||||
*/
|
||||
export interface SlotDescriptor {
|
||||
[key: string]: {
|
||||
[key: string]: any;
|
||||
|
|
|
|||
2
electron/node_modules/app-builder-lib/out/options/SnapOptions.js.map
generated
vendored
2
electron/node_modules/app-builder-lib/out/options/SnapOptions.js.map
generated
vendored
File diff suppressed because one or more lines are too long
5
electron/node_modules/app-builder-lib/out/options/SquirrelWindowsOptions.d.ts
generated
vendored
5
electron/node_modules/app-builder-lib/out/options/SquirrelWindowsOptions.d.ts
generated
vendored
|
|
@ -33,6 +33,11 @@ export interface SquirrelWindowsOptions extends TargetSpecificOptions {
|
|||
* Use `appId` to identify package instead of `name`.
|
||||
*/
|
||||
readonly useAppIdAsId?: boolean;
|
||||
/**
|
||||
* The custom squirrel vendor dir. If not specified will use the Squirrel.Windows that is shipped with electron-installer(https://github.com/electron/windows-installer/tree/main/vendor).
|
||||
* After https://github.com/electron-userland/electron-builder-binaries/pull/56 merged, will add `electron-builder-binaries` to get the latest version of squirrel.
|
||||
*/
|
||||
readonly customSquirrelVendorDir?: string;
|
||||
/**
|
||||
* https://github.com/electron-userland/electron-builder/issues/1743
|
||||
* @private
|
||||
|
|
|
|||
2
electron/node_modules/app-builder-lib/out/options/SquirrelWindowsOptions.js.map
generated
vendored
2
electron/node_modules/app-builder-lib/out/options/SquirrelWindowsOptions.js.map
generated
vendored
|
|
@ -1 +1 @@
|
|||
{"version":3,"file":"SquirrelWindowsOptions.js","sourceRoot":"","sources":["../../src/options/SquirrelWindowsOptions.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Squirrel.Windows options.\n */\nimport { TargetSpecificOptions } from \"../core\"\n\nexport interface SquirrelWindowsOptions extends TargetSpecificOptions {\n /**\n * A URL to an ICO file to use as the application icon (displayed in Control Panel > Programs and Features). Defaults to the Electron icon.\n *\n * Please note — [local icon file url is not accepted](https://github.com/atom/grunt-electron-installer/issues/73), must be https/http.\n *\n * If you don't plan to build windows installer, you can omit it.\n * If your project repository is public on GitHub, it will be `https://github.com/${u}/${p}/blob/master/build/icon.ico?raw=true` by default.\n */\n readonly iconUrl?: string | null\n\n /**\n * The path to a .gif file to display during install. `build/install-spinner.gif` will be used if exists (it is a recommended way to set)\n * (otherwise [default](https://github.com/electron/windows-installer/blob/master/resources/install-spinner.gif)).\n */\n readonly loadingGif?: string | null\n\n /**\n * Whether to create an MSI installer. Defaults to `false` (MSI is not created).\n */\n readonly msi?: boolean\n\n /**\n * A URL to your existing updates. Or `true` to automatically set to your GitHub repository. If given, these will be downloaded to create delta updates.\n */\n readonly remoteReleases?: string | boolean | null\n\n /**\n * Authentication token for remote updates\n */\n readonly remoteToken?: string | null\n\n /**\n * Use `appId` to identify package instead of `name`.\n */\n readonly useAppIdAsId?: boolean\n\n /**\n * https://github.com/electron-userland/electron-builder/issues/1743\n * @private\n */\n readonly name?: string\n}\n"]}
|
||||
{"version":3,"file":"SquirrelWindowsOptions.js","sourceRoot":"","sources":["../../src/options/SquirrelWindowsOptions.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Squirrel.Windows options.\n */\nimport { TargetSpecificOptions } from \"../core\"\n\nexport interface SquirrelWindowsOptions extends TargetSpecificOptions {\n /**\n * A URL to an ICO file to use as the application icon (displayed in Control Panel > Programs and Features). Defaults to the Electron icon.\n *\n * Please note — [local icon file url is not accepted](https://github.com/atom/grunt-electron-installer/issues/73), must be https/http.\n *\n * If you don't plan to build windows installer, you can omit it.\n * If your project repository is public on GitHub, it will be `https://github.com/${u}/${p}/blob/master/build/icon.ico?raw=true` by default.\n */\n readonly iconUrl?: string | null\n\n /**\n * The path to a .gif file to display during install. `build/install-spinner.gif` will be used if exists (it is a recommended way to set)\n * (otherwise [default](https://github.com/electron/windows-installer/blob/master/resources/install-spinner.gif)).\n */\n readonly loadingGif?: string | null\n\n /**\n * Whether to create an MSI installer. Defaults to `false` (MSI is not created).\n */\n readonly msi?: boolean\n\n /**\n * A URL to your existing updates. Or `true` to automatically set to your GitHub repository. If given, these will be downloaded to create delta updates.\n */\n readonly remoteReleases?: string | boolean | null\n\n /**\n * Authentication token for remote updates\n */\n readonly remoteToken?: string | null\n\n /**\n * Use `appId` to identify package instead of `name`.\n */\n readonly useAppIdAsId?: boolean\n\n /**\n * The custom squirrel vendor dir. If not specified will use the Squirrel.Windows that is shipped with electron-installer(https://github.com/electron/windows-installer/tree/main/vendor).\n * After https://github.com/electron-userland/electron-builder-binaries/pull/56 merged, will add `electron-builder-binaries` to get the latest version of squirrel.\n */\n readonly customSquirrelVendorDir?: string\n\n /**\n * https://github.com/electron-userland/electron-builder/issues/1743\n * @private\n */\n readonly name?: string\n}\n"]}
|
||||
120
electron/node_modules/app-builder-lib/out/options/linuxOptions.d.ts
generated
vendored
120
electron/node_modules/app-builder-lib/out/options/linuxOptions.d.ts
generated
vendored
|
|
@ -1,40 +1,80 @@
|
|||
import { PlatformSpecificBuildOptions, TargetConfigType, TargetSpecificOptions } from "../index";
|
||||
/**
|
||||
* Example Spec: https://specifications.freedesktop.org/desktop-entry-spec/latest/example.html
|
||||
*/
|
||||
export interface LinuxDesktopFile {
|
||||
/**
|
||||
* `[Desktop Entry]` metadata entries (name to value). Overwrites default values calculated by electron-builder
|
||||
*/
|
||||
entry?: {
|
||||
[k: string]: string;
|
||||
} | null;
|
||||
/**
|
||||
* `[Desktop Actions <ActionName>]` metadata entries (name to value).
|
||||
*
|
||||
* Config Example:
|
||||
* ```js
|
||||
* desktopActions: {
|
||||
* NewWindow: {
|
||||
* Name: 'New Window',
|
||||
* Exec: 'app --new-window',
|
||||
* }
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
desktopActions?: {
|
||||
[ActionName: string]: any;
|
||||
} | null;
|
||||
}
|
||||
export interface LinuxConfiguration extends CommonLinuxOptions, PlatformSpecificBuildOptions {
|
||||
/**
|
||||
* Target package type: list of `AppImage`, `flatpak`, `snap`, `deb`, `rpm`, `freebsd`, `pacman`, `p5p`, `apk`, `7z`, `zip`, `tar.xz`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir`.
|
||||
*
|
||||
* electron-builder [docker image](/multi-platform-build#docker) can be used to build Linux targets on any platform.
|
||||
* electron-builder [docker image](https://www.electron.build/multi-platform-build#docker) can be used to build Linux targets on any platform.
|
||||
*
|
||||
* Please [do not put an AppImage into another archive](https://github.com/probonopd/AppImageKit/wiki/Creating-AppImages#common-mistake) like a .zip or .tar.gz.
|
||||
* @default AppImage
|
||||
*/
|
||||
readonly target?: TargetConfigType;
|
||||
/**
|
||||
* The maintainer. Defaults to [author](/configuration/configuration#Metadata-author).
|
||||
* The maintainer. Defaults to [author](https://www.electron.build/configuration#author).
|
||||
*/
|
||||
readonly maintainer?: string | null;
|
||||
/**
|
||||
* The vendor. Defaults to [author](/configuration/configuration#Metadata-author).
|
||||
* The vendor. Defaults to [author](https://www.electron.build/configuration#author).
|
||||
*/
|
||||
readonly vendor?: string | null;
|
||||
/**
|
||||
* The path to icon set directory or one png file, relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) or to the project directory. The icon filename must contain the size (e.g. 32x32.png) of the icon.
|
||||
* The path to icon set directory or one png file, relative to the [build resources](https://www.electron.build/contents#extraresources) or to the project directory. The icon filename must contain the size (e.g. 32x32.png) of the icon.
|
||||
* By default will be generated automatically based on the macOS icns file.
|
||||
*/
|
||||
readonly icon?: string;
|
||||
/**
|
||||
* backward compatibility + to allow specify fpm-only category for all possible fpm targets in one place
|
||||
* @private
|
||||
* When `true`, the installed `.desktop` filename is derived from `desktopName` in `package.json`
|
||||
* (minus the `.desktop` suffix) so that it matches `StartupWMClass` and Electron's `app_id`.
|
||||
* Falls back to `executableName` when `desktopName` is absent.
|
||||
*
|
||||
* @default false
|
||||
* @see https://github.com/electron-userland/electron-builder/issues/9103
|
||||
* @remarks In v27 the default will change to `true`.
|
||||
*/
|
||||
readonly packageCategory?: string | null;
|
||||
readonly syncDesktopName?: boolean;
|
||||
}
|
||||
/**
|
||||
* Desktop-entry and runtime fields shared by all Linux targets and all snap core strategies.
|
||||
*
|
||||
* Fields set under `linux.*` in your build config (i.e. on {@link LinuxConfiguration}) are
|
||||
* automatically cascaded into each snap core's options by `LinuxTargetHelper.getSnapCore()`.
|
||||
* You do not need to duplicate them under `snapcraft.core24.*`, `snapcraft.core22.*`, etc.
|
||||
* Per-core values always take precedence when both are set.
|
||||
*/
|
||||
export interface CommonLinuxOptions {
|
||||
/**
|
||||
* The [short description](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description).
|
||||
*/
|
||||
readonly synopsis?: string | null;
|
||||
/**
|
||||
* As [description](/configuration/configuration#Metadata-description) from application package.json, but allows you to specify different for Linux.
|
||||
* As [description](https://www.electron.build/configuration#description) from application package.json, but allows you to specify different for Linux.
|
||||
*/
|
||||
readonly description?: string | null;
|
||||
/**
|
||||
|
|
@ -46,9 +86,9 @@ export interface CommonLinuxOptions {
|
|||
*/
|
||||
readonly mimeTypes?: Array<string> | null;
|
||||
/**
|
||||
* The [Desktop file](https://developer.gnome.org/documentation/guidelines/maintainer/integrating.html#desktop-files) entries (name to value).
|
||||
* The [Desktop file](https://developer.gnome.org/documentation/guidelines/maintainer/integrating.html#desktop-files)
|
||||
*/
|
||||
readonly desktop?: any | null;
|
||||
readonly desktop?: LinuxDesktopFile | null;
|
||||
/**
|
||||
* The executable parameters. Pass to executableName
|
||||
*/
|
||||
|
|
@ -57,13 +97,17 @@ export interface CommonLinuxOptions {
|
|||
export interface LinuxTargetSpecificOptions extends CommonLinuxOptions, TargetSpecificOptions {
|
||||
/**
|
||||
* Package dependencies.
|
||||
* `rpm` defaults to `["gtk3", "libnotify", "nss", "libXScrnSaver", "(libXtst or libXtst6)", "xdg-utils", "at-spi2-core", "(libuuid or libuuid1)"]`
|
||||
* `pacman` defaults to `["c-ares", "ffmpeg", "gtk3", "http-parser", "libevent", "libvpx", "libxslt", "libxss", "minizip", "nss", "re2", "snappy", "libnotify", "libappindicator-gtk3"]`
|
||||
*/
|
||||
readonly depends?: Array<string> | null;
|
||||
/**
|
||||
* The compression type.
|
||||
* The compression type passed to fpm. For `deb`, `rpm`, and `pacman` targets prefer the
|
||||
* typed per-format interfaces (`DebOptions`, `RpmOptions`, `PacmanOptions`) which narrow
|
||||
* this to only the values that fpm actually accepts for that format.
|
||||
* @default xz
|
||||
*/
|
||||
readonly compression?: "gz" | "bzip2" | "xz" | "lzo" | null;
|
||||
readonly compression?: "gz" | "bzip2" | "xz" | "xzmt" | "gzip" | "zst" | "zstd" | null;
|
||||
readonly icon?: string;
|
||||
/**
|
||||
* The package category.
|
||||
|
|
@ -75,10 +119,20 @@ export interface LinuxTargetSpecificOptions extends CommonLinuxOptions, TargetSp
|
|||
readonly packageName?: string | null;
|
||||
readonly vendor?: string | null;
|
||||
readonly maintainer?: string | null;
|
||||
/**
|
||||
* File path to script to be passed to FPM for `--after-install` arg.
|
||||
*/
|
||||
readonly afterInstall?: string | null;
|
||||
/**
|
||||
* File path to script to be passed to FPM for `--after-remove` arg.
|
||||
*/
|
||||
readonly afterRemove?: string | null;
|
||||
/**
|
||||
* *Advanced only* The [fpm](https://github.com/jordansissel/fpm/wiki#usage) options.
|
||||
* File path to custom AppArmor profile (Ubuntu 24+)
|
||||
*/
|
||||
readonly appArmorProfile?: string | null;
|
||||
/**
|
||||
* *Advanced only* The [fpm](https://fpm.readthedocs.io/en/latest/cli-reference.html) options.
|
||||
*
|
||||
* Example: `["--before-install=build/deb-preinstall.sh", "--after-upgrade=build/deb-postinstall.sh"]`
|
||||
*/
|
||||
|
|
@ -86,11 +140,17 @@ export interface LinuxTargetSpecificOptions extends CommonLinuxOptions, TargetSp
|
|||
}
|
||||
export interface DebOptions extends LinuxTargetSpecificOptions {
|
||||
/**
|
||||
* Package dependencies. Defaults to `["gconf2", "gconf-service", "libnotify4", "libappindicator1", "libxtst6", "libnss3"]`.
|
||||
* Package dependencies.
|
||||
* If need to support Debian, `libappindicator1` should be removed, it is [deprecated in Debian](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=895037).
|
||||
* If need to support KDE, `gconf2` and `gconf-service` should be removed as it's no longer used by GNOME](https://packages.debian.org/bullseye/gconf2).
|
||||
* If need to support KDE, `gconf2` and `gconf-service` should be removed as it's no longer used [by GNOME](https://packages.debian.org/bullseye/gconf2).
|
||||
* @default ["libgtk-3-0", "libnotify4", "libnss3", "libxss1", "libxtst6", "xdg-utils", "libatspi2.0-0", "libuuid1", "libsecret-1-0"]
|
||||
*/
|
||||
readonly depends?: Array<string> | null;
|
||||
/**
|
||||
* The [recommended package dependencies](https://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps).
|
||||
* @default ["libappindicator3-1"]
|
||||
*/
|
||||
readonly recommends?: Array<string> | null;
|
||||
/**
|
||||
* The [package category](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Section).
|
||||
*/
|
||||
|
|
@ -99,12 +159,42 @@ export interface DebOptions extends LinuxTargetSpecificOptions {
|
|||
* The [Priority](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Priority) attribute.
|
||||
*/
|
||||
readonly priority?: string | null;
|
||||
/** @default xz */
|
||||
readonly compression?: "gz" | "bzip2" | "xz" | "zst" | null;
|
||||
}
|
||||
export interface RpmOptions extends LinuxTargetSpecificOptions {
|
||||
/**
|
||||
* Passed to fpm via `--rpm-compression`. `"xzmt"` uses multi-threaded xz (fpm's RPM default).
|
||||
* `"xz"` is automatically promoted to `"xzmt"`. `"gzip"` and `"bzip2"` pass through as-is.
|
||||
* @default xzmt
|
||||
*/
|
||||
readonly compression?: "xz" | "xzmt" | "gzip" | "bzip2" | null;
|
||||
}
|
||||
export interface PacmanOptions extends LinuxTargetSpecificOptions {
|
||||
/** @default xz */
|
||||
readonly compression?: "gz" | "bzip2" | "xz" | "zstd" | null;
|
||||
}
|
||||
export interface AppImageOptions extends CommonLinuxOptions, TargetSpecificOptions {
|
||||
/**
|
||||
* The path to EULA license file. Defaults to `license.txt` or `eula.txt` (or uppercase variants). Only plain text is supported.
|
||||
*/
|
||||
readonly license?: string | null;
|
||||
/**
|
||||
* The compression algorithm passed to the AppImage build tool.
|
||||
*
|
||||
* **FUSE2 toolset (`"0.0.0"` or unset):** only `"xz"` and `"gzip"` are forwarded
|
||||
* to mksquashfs (`-comp <value>`); `"xz"` additionally passes `-Xdict-size 100% -b 1048576`.
|
||||
* `"zstd"`, `null`, and unset fall through to the root-level `compression` option:
|
||||
* - `"maximum"` → `"xz"`
|
||||
* - anything else → flag omitted (mksquashfs defaults to gzip)
|
||||
*
|
||||
* **Static-runtime toolsets (`>= 1.0.0`):** `"gzip"` and `"zstd"` are forwarded
|
||||
* directly. `"xz"` is mapped to `"zstd"` (nearest supported equivalent). `null`
|
||||
* or unset falls through to the root-level `compression` option:
|
||||
* - `"store"` → `"gzip"`
|
||||
* - `"normal"` / `"maximum"` / unset → `"zstd"`
|
||||
*/
|
||||
readonly compression?: "gzip" | "xz" | "zstd" | null;
|
||||
}
|
||||
export interface FlatpakOptions extends CommonLinuxOptions, TargetSpecificOptions {
|
||||
/**
|
||||
|
|
|
|||
2
electron/node_modules/app-builder-lib/out/options/linuxOptions.js.map
generated
vendored
2
electron/node_modules/app-builder-lib/out/options/linuxOptions.js.map
generated
vendored
File diff suppressed because one or more lines are too long
125
electron/node_modules/app-builder-lib/out/options/macOptions.d.ts
generated
vendored
125
electron/node_modules/app-builder-lib/out/options/macOptions.d.ts
generated
vendored
|
|
@ -1,5 +1,6 @@
|
|||
import { PlatformSpecificBuildOptions, TargetConfiguration, TargetSpecificOptions } from "../index";
|
||||
export declare type MacOsTargetName = "default" | "dmg" | "mas" | "mas-dev" | "pkg" | "7z" | "zip" | "tar.xz" | "tar.lz" | "tar.gz" | "tar.bz2" | "dir";
|
||||
import { CustomMacSign } from "../macPackager";
|
||||
export type MacOsTargetName = "default" | "dmg" | "mas" | "mas-dev" | "pkg" | "7z" | "zip" | "tar.xz" | "tar.lz" | "tar.gz" | "tar.bz2" | "dir";
|
||||
export interface MacConfiguration extends PlatformSpecificBuildOptions {
|
||||
/**
|
||||
* The application category type, as shown in the Finder via *View -> Arrange by Application Category* when viewing the Applications directory.
|
||||
|
|
@ -10,22 +11,32 @@ export interface MacConfiguration extends PlatformSpecificBuildOptions {
|
|||
*/
|
||||
readonly category?: string | null;
|
||||
/**
|
||||
* The target package type: list of `default`, `dmg`, `mas`, `mas-dev`, `pkg`, `7z`, `zip`, `tar.xz`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir`. Defaults to `default` (dmg and zip for Squirrel.Mac).
|
||||
* The target package type: list of `default`, `dmg`, `mas`, `mas-dev`, `pkg`, `7z`, `zip`, `tar.xz`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir`.
|
||||
* Note: Squirrel.Mac auto update mechanism requires both `dmg` and `zip` to be enabled, even when only `dmg` is used. Disabling `zip` will break auto update in `dmg` packages.
|
||||
* @default default (dmg and zip for Squirrel.Mac)
|
||||
*/
|
||||
readonly target?: Array<MacOsTargetName | TargetConfiguration> | MacOsTargetName | TargetConfiguration | null;
|
||||
/**
|
||||
* The name of certificate to use when signing. Consider using environment variables [CSC_LINK or CSC_NAME](/code-signing) instead of specifying this option.
|
||||
* MAS installer identity is specified in the [mas](/configuration/mas).
|
||||
* The signing identity (certificate name) to use when signing. Consider using environment variables [CSC_LINK or CSC_NAME](https://www.electron.build/code-signing) instead of specifying this option.
|
||||
* MAS installer identity is specified in the [mas](https://www.electron.build/mas).
|
||||
*
|
||||
* - **Not set** (default): electron-builder searches the keychain for a valid signing certificate. If none is found, signing is skipped for all architectures — there is no automatic ad-hoc fallback.
|
||||
* - **`null`**: skip signing entirely.
|
||||
* - **`"-"`**: opt in to ad-hoc signing explicitly. Note that `hardenedRuntime: true` (the default) combined with ad-hoc signing requires
|
||||
* the [`com.apple.security.cs.disable-library-validation`](https://developer.apple.com/documentation/BundleResources/Entitlements/com.apple.security.cs.disable-library-validation)
|
||||
* entitlement to prevent app launch failures; otherwise set `hardenedRuntime: false`.
|
||||
*/
|
||||
readonly identity?: string | null;
|
||||
/**
|
||||
* The path to application icon.
|
||||
* Accepts `.icns` (legacy) or `.icon` (Icon Composer asset).
|
||||
* If a `.icon` asset is provided, it will be preferred and compiled to an asset catalog.
|
||||
* @default build/icon.icns
|
||||
*/
|
||||
readonly icon?: string | null;
|
||||
/**
|
||||
* The path to entitlements file for signing the app. `build/entitlements.mac.plist` will be used if exists (it is a recommended way to set).
|
||||
* MAS entitlements is specified in the [mas](/configuration/mas).
|
||||
* MAS entitlements is specified in the [mas](https://www.electron.build/mas).
|
||||
* See [this folder in osx-sign's repository](https://github.com/electron/osx-sign/tree/main/entitlements) for examples.
|
||||
* Be aware that your app may crash if the right entitlements are not set like `com.apple.security.cs.allow-jit` for example on arm64 builds with Electron 20+.
|
||||
* See [Signing and Notarizing macOS Builds from the Electron documentation](https://www.electronjs.org/docs/latest/tutorial/code-signing#signing--notarizing-macos-builds) for more information.
|
||||
|
|
@ -112,10 +123,6 @@ export interface MacConfiguration extends PlatformSpecificBuildOptions {
|
|||
* Path of [requirements file](https://developer.apple.com/library/mac/documentation/Security/Conceptual/CodeSigningGuide/RequirementLang/RequirementLang.html) used in signing. Not applicable for MAS.
|
||||
*/
|
||||
readonly requirements?: string | null;
|
||||
/**
|
||||
* The electron locales. By default Electron locales used as is.
|
||||
*/
|
||||
readonly electronLanguages?: Array<string> | string;
|
||||
/** @private */
|
||||
readonly cscInstallerLink?: string | null;
|
||||
/** @private */
|
||||
|
|
@ -126,23 +133,38 @@ export interface MacConfiguration extends PlatformSpecificBuildOptions {
|
|||
readonly extraDistFiles?: Array<string> | string | null;
|
||||
/**
|
||||
* Whether your app has to be signed with hardened runtime.
|
||||
*
|
||||
* When using ad-hoc signing (`identity: "-"`), hardened runtime enforces library validation which
|
||||
* will reject pre-signed Electron frameworks that carry a different Team ID. To resolve this either
|
||||
* set `hardenedRuntime: false` or add the
|
||||
* [`com.apple.security.cs.disable-library-validation`](https://developer.apple.com/documentation/BundleResources/Entitlements/com.apple.security.cs.disable-library-validation)
|
||||
* entitlement to your entitlements file.
|
||||
* @default true
|
||||
*/
|
||||
readonly hardenedRuntime?: boolean;
|
||||
/**
|
||||
* Whether to let electron-osx-sign validate the signing or not.
|
||||
* Whether to let `@electron/osx-sign` validate the signing or not.
|
||||
* @default false
|
||||
*/
|
||||
readonly gatekeeperAssess?: boolean;
|
||||
/**
|
||||
* Whether to let electron-osx-sign verify the contents or not.
|
||||
* Whether to let `@electron/osx-sign` verify the contents or not.
|
||||
* @default true
|
||||
*/
|
||||
readonly strictVerify?: Array<string> | string | boolean;
|
||||
readonly strictVerify?: boolean;
|
||||
/**
|
||||
* Whether to enable entitlements automation from `@electron/osx-sign`.
|
||||
* @default true
|
||||
*/
|
||||
readonly preAutoEntitlements?: boolean;
|
||||
/**
|
||||
* Regex or an array of regex's that signal skipping signing a file.
|
||||
*/
|
||||
readonly signIgnore?: Array<string> | string | null;
|
||||
/**
|
||||
* The custom function (or path to file or module id) to sign an app bundle.
|
||||
*/
|
||||
readonly sign?: CustomMacSign | string | null;
|
||||
/**
|
||||
* Specify the URL of the timestamp authority server
|
||||
*/
|
||||
|
|
@ -161,7 +183,7 @@ export interface MacConfiguration extends PlatformSpecificBuildOptions {
|
|||
* This option has no effect unless building for "universal" arch and applies
|
||||
* only if `mergeASARs` is `true`.
|
||||
*/
|
||||
readonly singleArchFiles?: string;
|
||||
readonly singleArchFiles?: string | null;
|
||||
/**
|
||||
* Minimatch pattern of paths that are allowed to be x64 binaries in both
|
||||
* ASAR files
|
||||
|
|
@ -169,7 +191,26 @@ export interface MacConfiguration extends PlatformSpecificBuildOptions {
|
|||
* This option has no effect unless building for "universal" arch and applies
|
||||
* only if `mergeASARs` is `true`.
|
||||
*/
|
||||
readonly x64ArchFiles?: string;
|
||||
readonly x64ArchFiles?: string | null;
|
||||
/**
|
||||
* Array of strings specifying additional arguments to pass to the `codesign` command used to sign a specific file.
|
||||
*
|
||||
* Some subresources that you may include in your Electron app may need to be signed with --deep, this is not typically safe to apply to the entire Electron app and therefore should be applied to just your file.
|
||||
* Usage Example: `['--deep']`
|
||||
*/
|
||||
readonly additionalArguments?: Array<string> | null;
|
||||
/**
|
||||
* Whether to disable electron-builder's [@electron/notarize](https://github.com/electron/notarize) integration.
|
||||
*
|
||||
* Note: In order to activate the notarization step You MUST specify one of the following via environment variables:
|
||||
*
|
||||
* 1. `APPLE_API_KEY`, `APPLE_API_KEY_ID` and `APPLE_API_ISSUER`.
|
||||
* 2. `APPLE_ID`, `APPLE_APP_SPECIFIC_PASSWORD`, and `APPLE_TEAM_ID`
|
||||
* 3. `APPLE_KEYCHAIN` and `APPLE_KEYCHAIN_PROFILE`
|
||||
*
|
||||
* For security reasons it is recommended to use the first option (see https://github.com/electron-userland/electron-builder/issues/7859)
|
||||
*/
|
||||
readonly notarize?: boolean;
|
||||
}
|
||||
export interface DmgOptions extends TargetSpecificOptions {
|
||||
/**
|
||||
|
|
@ -179,11 +220,16 @@ export interface DmgOptions extends TargetSpecificOptions {
|
|||
*/
|
||||
background?: string | null;
|
||||
/**
|
||||
* The background color (accepts css colors). Defaults to `#ffffff` (white) if no background image.
|
||||
* The background color (accepts css colors). Used when no background image is set.
|
||||
* @default #ffffff
|
||||
*/
|
||||
backgroundColor?: string | null;
|
||||
/**
|
||||
* The path to DMG icon (volume icon), which will be shown when mounted, relative to the [build resources](/configuration/configuration#MetadataDirectories-buildResources) or to the project directory.
|
||||
* The path to DMG icon (badge icon), which will be shown when mounted, relative to the [build resources](https://www.electron.build/contents#extraresources) or to the project directory.
|
||||
*/
|
||||
badgeIcon?: string | null;
|
||||
/**
|
||||
* The path to DMG icon (volume icon), which will be shown when mounted, relative to the [build resources](https://www.electron.build/contents#extraresources) or to the project directory.
|
||||
* Defaults to the application icon (`build/icon.icns`).
|
||||
*/
|
||||
icon?: string | null;
|
||||
|
|
@ -213,6 +259,24 @@ export interface DmgOptions extends TargetSpecificOptions {
|
|||
* @default UDZO
|
||||
*/
|
||||
format?: "UDRW" | "UDRO" | "UDCO" | "UDZO" | "UDBZ" | "ULFO";
|
||||
/**
|
||||
* The filesystem for the DMG volume (e.g. `"APFS"` or `"HFS+"`)
|
||||
* This will be changed to APFS in the next major release, so it is recommended to set it explicitly to HFS+ if you want to keep using HFS+ (e.g. for better compatibility with older macOS versions).
|
||||
* @default HFS+
|
||||
*/
|
||||
readonly filesystem?: "HFS+" | "APFS" | null;
|
||||
/**
|
||||
* The initial size of the DMG filesystem. Accepts the same syntax as the `-size` argument to `hdiutil`, e.g. `"150m"`, `"4g"`.
|
||||
* If not specified, the size is calculated automatically.
|
||||
* Set this explicitly for large apps or apps with sparse files to avoid "No space left on device" errors.
|
||||
*/
|
||||
readonly size?: string | null;
|
||||
/**
|
||||
* Whether to shrink the DMG filesystem to the minimum size after copying files.
|
||||
* Set to `false` to preserve the explicit `size` you specified.
|
||||
* @default true
|
||||
*/
|
||||
readonly shrink?: boolean;
|
||||
/**
|
||||
* The DMG window position and size. With y co-ordinates running from bottom to top.
|
||||
*
|
||||
|
|
@ -230,6 +294,35 @@ export interface DmgOptions extends TargetSpecificOptions {
|
|||
* @default false
|
||||
*/
|
||||
readonly sign?: boolean;
|
||||
/**
|
||||
* License agreement to display when the DMG is mounted.
|
||||
*
|
||||
* Accepts a single file path (`.rtf`, `.txt`, or `.html`) used as the English/default license,
|
||||
* or a language-code → file-path map for multi-language builds.
|
||||
*
|
||||
* When set, this takes precedence over the file-naming convention
|
||||
* (`license_en.txt`, etc. in the build resources directory).
|
||||
* Paths are resolved relative to the build resources directory or project root.
|
||||
*
|
||||
* @example Single language
|
||||
* ```yaml
|
||||
* dmg:
|
||||
* license: "build/license.rtf"
|
||||
* ```
|
||||
*
|
||||
* @example Multi-language
|
||||
* ```yaml
|
||||
* dmg:
|
||||
* license:
|
||||
* en_US: "build/license.rtf"
|
||||
* de_DE: "build/license_de.txt"
|
||||
* ja_JP: "build/license_ja.txt"
|
||||
* ```
|
||||
*
|
||||
* If not set, electron-builder scans the build resources directory for
|
||||
* `license_LANG.{rtf,txt,html}` files automatically.
|
||||
*/
|
||||
license?: string | Record<string, string> | null;
|
||||
/**
|
||||
* @private
|
||||
* @default true
|
||||
|
|
|
|||
2
electron/node_modules/app-builder-lib/out/options/macOptions.js.map
generated
vendored
2
electron/node_modules/app-builder-lib/out/options/macOptions.js.map
generated
vendored
File diff suppressed because one or more lines are too long
11
electron/node_modules/app-builder-lib/out/options/metadata.d.ts
generated
vendored
11
electron/node_modules/app-builder-lib/out/options/metadata.d.ts
generated
vendored
|
|
@ -1,8 +1,7 @@
|
|||
import { Configuration } from "../configuration";
|
||||
export interface Metadata {
|
||||
/**
|
||||
* The application name.
|
||||
* @required
|
||||
* The application name. Required.
|
||||
*/
|
||||
readonly name?: string;
|
||||
/**
|
||||
|
|
@ -29,12 +28,12 @@ export interface Metadata {
|
|||
*/
|
||||
readonly build?: Configuration;
|
||||
/** @private */
|
||||
readonly dependencies?: {
|
||||
[key: string]: string;
|
||||
};
|
||||
readonly dependencies?: Record<string, string>;
|
||||
/** @private */
|
||||
readonly version?: string;
|
||||
/** @private */
|
||||
readonly type?: string;
|
||||
/** @private */
|
||||
readonly shortVersion?: string | null;
|
||||
/** @private */
|
||||
readonly shortVersionWindows?: string | null;
|
||||
|
|
@ -42,6 +41,8 @@ export interface Metadata {
|
|||
readonly productName?: string | null;
|
||||
/** @private */
|
||||
readonly main?: string | null;
|
||||
/** @private */
|
||||
readonly desktopName?: string | null;
|
||||
}
|
||||
export interface AuthorMetadata {
|
||||
readonly name: string;
|
||||
|
|
|
|||
2
electron/node_modules/app-builder-lib/out/options/metadata.js.map
generated
vendored
2
electron/node_modules/app-builder-lib/out/options/metadata.js.map
generated
vendored
|
|
@ -1 +1 @@
|
|||
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/options/metadata.ts"],"names":[],"mappings":"","sourcesContent":["import { Configuration } from \"../configuration\"\n\nexport interface Metadata {\n /**\n * The application name.\n * @required\n */\n readonly name?: string\n\n /**\n * The application description.\n */\n readonly description?: string\n\n /**\n * The url to the project [homepage](https://docs.npmjs.com/files/package.json#homepage) (NuGet Package `projectUrl` (optional) or Linux Package URL (required)).\n *\n * If not specified and your project repository is public on GitHub, it will be `https://github.com/${user}/${project}` by default.\n */\n readonly homepage?: string | null\n\n /**\n * *linux-only.* The [license](https://docs.npmjs.com/files/package.json#license) name.\n */\n readonly license?: string | null\n\n readonly author?: AuthorMetadata | null\n\n /**\n * The [repository](https://docs.npmjs.com/files/package.json#repository).\n */\n readonly repository?: string | RepositoryInfo | null\n\n /**\n * The electron-builder configuration.\n */\n readonly build?: Configuration\n\n /** @private */\n readonly dependencies?: { [key: string]: string }\n /** @private */\n readonly version?: string\n /** @private */\n readonly shortVersion?: string | null\n /** @private */\n readonly shortVersionWindows?: string | null\n /** @private */\n readonly productName?: string | null\n /** @private */\n readonly main?: string | null\n}\n\nexport interface AuthorMetadata {\n readonly name: string\n readonly email?: string\n}\n\nexport interface RepositoryInfo {\n readonly url: string\n}\n"]}
|
||||
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/options/metadata.ts"],"names":[],"mappings":"","sourcesContent":["import { Configuration } from \"../configuration\"\n\nexport interface Metadata {\n /**\n * The application name. Required.\n */\n readonly name?: string\n\n /**\n * The application description.\n */\n readonly description?: string\n\n /**\n * The url to the project [homepage](https://docs.npmjs.com/files/package.json#homepage) (NuGet Package `projectUrl` (optional) or Linux Package URL (required)).\n *\n * If not specified and your project repository is public on GitHub, it will be `https://github.com/${user}/${project}` by default.\n */\n readonly homepage?: string | null\n\n /**\n * *linux-only.* The [license](https://docs.npmjs.com/files/package.json#license) name.\n */\n readonly license?: string | null\n\n readonly author?: AuthorMetadata | null\n\n /**\n * The [repository](https://docs.npmjs.com/files/package.json#repository).\n */\n readonly repository?: string | RepositoryInfo | null\n\n /**\n * The electron-builder configuration.\n */\n readonly build?: Configuration\n\n /** @private */\n readonly dependencies?: Record<string, string>\n /** @private */\n readonly version?: string\n /** @private */\n readonly type?: string\n /** @private */\n readonly shortVersion?: string | null\n /** @private */\n readonly shortVersionWindows?: string | null\n /** @private */\n readonly productName?: string | null\n /** @private */\n readonly main?: string | null\n /** @private */\n readonly desktopName?: string | null\n}\n\nexport interface AuthorMetadata {\n readonly name: string\n readonly email?: string\n}\n\nexport interface RepositoryInfo {\n readonly url: string\n}\n"]}
|
||||
11
electron/node_modules/app-builder-lib/out/options/pkgOptions.d.ts
generated
vendored
11
electron/node_modules/app-builder-lib/out/options/pkgOptions.d.ts
generated
vendored
|
|
@ -1,6 +1,6 @@
|
|||
import { TargetSpecificOptions } from "../core";
|
||||
export declare type BackgroundAlignment = "center" | "left" | "right" | "top" | "bottom" | "topleft" | "topright" | "bottomleft" | "bottomright";
|
||||
export declare type BackgroundScaling = "tofit" | "none" | "proportional";
|
||||
export type BackgroundAlignment = "center" | "left" | "right" | "top" | "bottom" | "topleft" | "topright" | "bottomleft" | "bottomright";
|
||||
export type BackgroundScaling = "tofit" | "none" | "proportional";
|
||||
/**
|
||||
* macOS product archive options.
|
||||
*/
|
||||
|
|
@ -48,7 +48,7 @@ export interface PkgOptions extends TargetSpecificOptions {
|
|||
*/
|
||||
readonly allowRootDirectory?: boolean | null;
|
||||
/**
|
||||
* The name of certificate to use when signing. Consider using environment variables [CSC_LINK or CSC_NAME](/code-signing) instead of specifying this option.
|
||||
* The name of certificate to use when signing. Consider using environment variables [CSC_LINK or CSC_NAME](https://www.electron.build/code-signing) instead of specifying this option.
|
||||
*/
|
||||
readonly identity?: string | null;
|
||||
/**
|
||||
|
|
@ -107,6 +107,11 @@ export interface PkgOptions extends TargetSpecificOptions {
|
|||
* @default upgrade
|
||||
*/
|
||||
readonly overwriteAction?: "upgrade" | "update" | null;
|
||||
/**
|
||||
* The extra component packages directory (relative to build resources directory) for MacOS product archive
|
||||
* Autoscans directory for any `.pkg` files and adds to `productbuild` command as `--package-path` and `--package` accordingly
|
||||
*/
|
||||
readonly extraPkgsDir?: string | null;
|
||||
}
|
||||
/**
|
||||
* Options for the background image in a PKG installer
|
||||
|
|
|
|||
2
electron/node_modules/app-builder-lib/out/options/pkgOptions.js.map
generated
vendored
2
electron/node_modules/app-builder-lib/out/options/pkgOptions.js.map
generated
vendored
File diff suppressed because one or more lines are too long
137
electron/node_modules/app-builder-lib/out/options/winOptions.d.ts
generated
vendored
137
electron/node_modules/app-builder-lib/out/options/winOptions.d.ts
generated
vendored
|
|
@ -1,8 +1,9 @@
|
|||
import { Nullish } from "builder-util-runtime";
|
||||
import { CustomWindowsSign } from "../codeSign/windowsSignToolManager";
|
||||
import { PlatformSpecificBuildOptions, TargetConfigType } from "../index";
|
||||
import { CustomWindowsSign } from "../codeSign/windowsCodeSign";
|
||||
export interface WindowsConfiguration extends PlatformSpecificBuildOptions {
|
||||
/**
|
||||
* The target package type: list of `nsis`, `nsis-web` (Web installer), `portable` ([portable](/configuration/nsis#portable) app without installation), `appx`, `msi`, `squirrel`, `7z`, `zip`, `tar.xz`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir`.
|
||||
* The target package type: list of `nsis`, `nsis-web` (Web installer), `portable` ([portable]https://www.electron.build/nsis#portable) app without installation), `appx`, `msi`, `msi-wrapped`, `squirrel`, `7z`, `zip`, `tar.xz`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir`.
|
||||
* AppX package can be built only on Windows 10.
|
||||
*
|
||||
* To use Squirrel.Windows please install `electron-builder-squirrel-windows` dependency.
|
||||
|
|
@ -19,23 +20,74 @@ export interface WindowsConfiguration extends PlatformSpecificBuildOptions {
|
|||
* The trademarks and registered trademarks.
|
||||
*/
|
||||
readonly legalTrademarks?: string | null;
|
||||
/**
|
||||
* Options for usage with signtool.exe
|
||||
* Cannot be used in conjunction with `azureSignOptions`, signing will default to Azure Trusted Signing
|
||||
*/
|
||||
readonly signtoolOptions?: WindowsSigntoolConfiguration | null;
|
||||
/**
|
||||
* Options for usage of Azure Trusted Signing service
|
||||
* Cannot be used in conjunction with `signtoolOptions`, signing will default to Azure Trusted Signing
|
||||
*/
|
||||
readonly azureSignOptions?: WindowsAzureSigningConfiguration | null;
|
||||
/**
|
||||
* Whether to verify the signature of an available update before installation.
|
||||
* The [publisher name](#publisherName) will be used for the signature verification.
|
||||
*
|
||||
* @default true
|
||||
*/
|
||||
readonly verifyUpdateCodeSignature?: boolean;
|
||||
/**
|
||||
* The [security level](https://msdn.microsoft.com/en-us/library/6ad1fshk.aspx#Anchor_9) at which the application requests to be executed.
|
||||
* Cannot be specified per target, allowed only in the `win`.
|
||||
* @default asInvoker
|
||||
*/
|
||||
readonly requestedExecutionLevel?: RequestedExecutionLevel | null;
|
||||
/**
|
||||
* Whether to sign and add metadata to executable via [`resedit`](https://www.npmjs.com/package/resedit).
|
||||
* Metadata includes information about the app name/description/version, publisher, copyright, etc.
|
||||
* This property also is responsible for adding the app icon and setting execution level.
|
||||
* Set to `false` only if you need to fully disable resedit-based resource editing.
|
||||
* To skip only code signing while keeping resource editing, use `signExecutable: false` instead.
|
||||
* @default true
|
||||
*/
|
||||
readonly signAndEditExecutable?: boolean;
|
||||
/**
|
||||
* Whether to sign Windows executables and any additional files matched by `signExts`.
|
||||
* Set to `false` to skip Windows code signing while still editing executable resources
|
||||
* (icon, metadata, etc. via [`resedit`](https://www.npmjs.com/package/resedit)).
|
||||
* This option is not limited to the main executable edit/sign flow and can also affect
|
||||
* signing of Windows installers or other artifacts that use the standard signing path.
|
||||
* @default true
|
||||
*/
|
||||
readonly signExecutable?: boolean;
|
||||
/**
|
||||
* Explicit file name/extensions (`str.endsWith`) to also sign. Advanced option.
|
||||
* Supports negative patterns, e.g. example that excludes `.appx` files: `["somefilename", ".dll", "!.appx"]`.
|
||||
* @see https://github.com/electron-userland/electron-builder/issues/7329
|
||||
* @default null
|
||||
*/
|
||||
readonly signExts?: string[] | null;
|
||||
}
|
||||
export type RequestedExecutionLevel = "asInvoker" | "highestAvailable" | "requireAdministrator";
|
||||
export interface WindowsSigntoolConfiguration {
|
||||
/**
|
||||
* The custom function (or path to file or module id) to sign Windows executables
|
||||
*/
|
||||
readonly sign?: CustomWindowsSign | string | null;
|
||||
/**
|
||||
* Array of signing algorithms used. For AppX `sha256` is always used.
|
||||
* @default ['sha1', 'sha256']
|
||||
*/
|
||||
readonly signingHashAlgorithms?: Array<"sha1" | "sha256"> | null;
|
||||
/**
|
||||
* The custom function (or path to file or module id) to sign Windows executable.
|
||||
*/
|
||||
readonly sign?: CustomWindowsSign | string | null;
|
||||
/**
|
||||
* The path to the *.pfx certificate you want to sign with. Please use it only if you cannot use env variable `CSC_LINK` (`WIN_CSC_LINK`) for some reason.
|
||||
* Please see [Code Signing](/code-signing).
|
||||
* Please see [Code Signing](https://www.electron.build/code-signing).
|
||||
*/
|
||||
readonly certificateFile?: string | null;
|
||||
/**
|
||||
* The password to the certificate provided in `certificateFile`. Please use it only if you cannot use env variable `CSC_KEY_PASSWORD` (`WIN_CSC_KEY_PASSWORD`) for some reason.
|
||||
* Please see [Code Signing](/code-signing).
|
||||
* Please see [Code Signing](https://www.electron.build/code-signing).
|
||||
*/
|
||||
readonly certificatePassword?: string | null;
|
||||
/**
|
||||
|
|
@ -65,29 +117,48 @@ export interface WindowsConfiguration extends PlatformSpecificBuildOptions {
|
|||
* Defaults to common name from your code signing certificate.
|
||||
*/
|
||||
readonly publisherName?: string | Array<string> | null;
|
||||
/**
|
||||
* Whether to verify the signature of an available update before installation.
|
||||
* The [publisher name](#publisherName) will be used for the signature verification.
|
||||
*
|
||||
* @default true
|
||||
*/
|
||||
readonly verifyUpdateCodeSignature?: boolean;
|
||||
/**
|
||||
* The [security level](https://msdn.microsoft.com/en-us/library/6ad1fshk.aspx#Anchor_9) at which the application requests to be executed.
|
||||
* Cannot be specified per target, allowed only in the `win`.
|
||||
* @default asInvoker
|
||||
*/
|
||||
readonly requestedExecutionLevel?: RequestedExecutionLevel | null;
|
||||
/**
|
||||
* Whether to sign and add metadata to executable. Advanced option.
|
||||
* @default true
|
||||
*/
|
||||
readonly signAndEditExecutable?: boolean;
|
||||
/**
|
||||
* Whether to sign DLL files. Advanced option.
|
||||
* @see https://github.com/electron-userland/electron-builder/issues/3101#issuecomment-404212384
|
||||
* @default false
|
||||
*/
|
||||
readonly signDlls?: boolean;
|
||||
}
|
||||
export declare type RequestedExecutionLevel = "asInvoker" | "highestAvailable" | "requireAdministrator";
|
||||
export interface WindowsAzureSigningConfiguration {
|
||||
/**
|
||||
* [The publisher name](https://github.com/electron-userland/electron-builder/issues/1187#issuecomment-278972073), exactly as in your code signed certificate. Several names can be provided.
|
||||
*/
|
||||
readonly publisherName: string;
|
||||
/**
|
||||
* The Trusted Signing Account endpoint. The URI value must have a URI that aligns to the
|
||||
* region your Trusted Signing Account and Certificate Profile you are specifying were created
|
||||
* in during the setup of these resources.
|
||||
*
|
||||
* Translates to field: Endpoint
|
||||
*
|
||||
* Requires one of environment variable configurations for authenticating to Microsoft Entra ID per [Microsoft's documentation](https://learn.microsoft.com/en-us/dotnet/api/azure.identity.environmentcredential?view=azure-dotnet#definition)
|
||||
*/
|
||||
readonly endpoint: string;
|
||||
/**
|
||||
* The Certificate Profile name. Translates to field: CertificateProfileName
|
||||
*/
|
||||
readonly certificateProfileName: string;
|
||||
/**
|
||||
* The Code Signing Signing Account name. Translates to field: CodeSigningAccountName
|
||||
*/
|
||||
readonly codeSigningAccountName: string;
|
||||
/**
|
||||
* The File Digest for signing each file. Translates to field: FileDigest
|
||||
* @default SHA256
|
||||
*/
|
||||
readonly fileDigest?: string;
|
||||
/**
|
||||
* The Timestamp rfc3161 server. Translates to field: TimestampRfc3161
|
||||
* @default http://timestamp.acs.microsoft.com
|
||||
*/
|
||||
readonly timestampRfc3161?: string;
|
||||
/**
|
||||
* The Timestamp Digest. Translates to field: TimestampDigest
|
||||
* @default SHA256
|
||||
*/
|
||||
readonly timestampDigest?: string;
|
||||
/**
|
||||
* Allow other CLI parameters (verbatim case-sensitive) to `Invoke-TrustedSigning`
|
||||
* Note: Key-Value pairs with `undefined`/`null` value are filtered out of the command.
|
||||
*/
|
||||
[k: string]: string | Nullish;
|
||||
}
|
||||
|
|
|
|||
2
electron/node_modules/app-builder-lib/out/options/winOptions.js.map
generated
vendored
2
electron/node_modules/app-builder-lib/out/options/winOptions.js.map
generated
vendored
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue